Thema Datum  Von Nutzer Rating
Antwort
20.04.2023 07:44:08 #Value
NotSolved
20.04.2023 07:59:17 Gast942
NotSolved
20.04.2023 08:11:49 #Value
NotSolved
Blau Zeile einfügen, wenn Kriterium erfüllt
29.04.2023 15:33:17 xlKing
NotSolved
03.05.2023 13:49:40 #Value
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
29.04.2023 15:33:17
Views:
305
Rating: Antwort:
  Ja
Thema:
Zeile einfügen, wenn Kriterium erfüllt

Hallo #Value,

hab den Thread eben zum erst entdeckt. Schade dass hier niemand weitergemacht hat.

Wenn es wirklich ausreicht die Zeilen von E:AJ nur zu verschieben wenn in D Neu steht ist der dafür notwendige Code relativ simpel. Die Frage ist wie dieser am besten ausgelöst werden kann. Mit Datenverbindungen ist das so eine Sache. Ich glaub da gibt's verschiedene Arten. Probier mal ob nach der Aktualisierung das TableUpdate-Ereignis ausgeführt wird. Dann könnte der folgende Code in das Modul "DieseArbeitsmappe"

Private Sub Workbook_SheetTableUpdate(ByVal Sh As Object, ByVal Target As TableObject)
    
    'sheetnummer 'letzte Zeile 'Zeile
 Dim shn As Long, lz As Long, z As Long
  
 For shn = 1 To 12
   With Sheets(shn)
     lz = .Cells(Rows.Count, 2).End(xlUp).Row
     For z = 2 To lz
       If .Cells(z, "D") = "Neu" Then
         .Range(.Cells(z, "E"), .Cells(z, "AJ")).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
         .Cells(z, "D") = "Aktiv"
       End If
     Next z
   End With
 Next shn
 
 MsgBox "Projektdaten wurden aktualisiert"
End Sub

Wenn du keine Msgbox am nach dem Update siehst, ist das leider das falsche Ereignis. Ein anderes gibt's aber leider nicht. Dann musst du den Code in eine normale Sub kopieren und manuell ausführen.

PS: Wenn ich dich richtig verstehe kommt die Info ob ein Projekt Neu ist auch aus den Quelldaten. Ist es überhaupt möglich diese Info in Excel zu überschreiben? Wird sie dann auch in die Quelldaten zurückgeschrieben? Und was machst du, wenn du in den Quelldaten ein Projekt Aktiv setzt, bevor Excel geupdatet wurde? Dann fällt die Info Neu als Bedingung für den Zeilenversatz weg.

Ich würde deshalb, sofern möglich, auf manuelles Update umschalten. Das könntest du über einen Button auslösen. Zuerst müsste der Code sich dann merken welche Projektnummer in welcher Zeile vor dem Update steht dann das Update machen und danach Nr. für Nr. mit den gemerkten Zeilen-Daten vergleichen. Entsprechend würden die Zeilen in E:AJ dann verschoben.  Wenn du also mit dem Makrorekorder die Codezeile für das Update ermittelst und hier postest, kann ich dir gern den Rest drumrum schreiben. Sag Bescheid, falls du Interesse hast.

Gruß Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
20.04.2023 07:44:08 #Value
NotSolved
20.04.2023 07:59:17 Gast942
NotSolved
20.04.2023 08:11:49 #Value
NotSolved
Blau Zeile einfügen, wenn Kriterium erfüllt
29.04.2023 15:33:17 xlKing
NotSolved
03.05.2023 13:49:40 #Value
NotSolved