VBA Code Automatische Aktualisierung
02.04.2025 14:20:50
Carry
ich bräuchte mal wieder die VBA Profis unter euch...
Ich habe eine Dienstplan als Excel Datei. Jede Woche hat eine Tabelle, benannt nach KW+Datum.
Aufgrund von wechselndem Personal habe ich eine Übersichtsseite auf der die Mitarbeiter mit Namen Telefonnummer und Eintrittsdatum gepflegt werden.
Mit folgendem VBA Code funktioniert das automatische aktualisieren der einzelnen Tabellenblätter schon ganz gut:
Sub CheckNeu()
Dim TB1 As Worksheet, TBx As Worksheet, JaNein As Variant
Dim Z1 As Integer, LR1 As Integer, LRx As Integer, i As Integer, Sp As Integer
Z1 = 2 'erste Zeile
Set TB1 = Sheets("Übersicht")
Sp = 10 'die ersten 10 Spalten sollen copiert werden
LR1 = TB1.Cells(TB1.Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
For i = Z1 To LR1
For Each TBx In ThisWorkbook.Sheets
If TBx.Name > TB1.Name Then
If WorksheetFunction.CountIf(TBx.Columns(1), TB1.Cells(i, 1)) = 0 Then
If CDbl(TB1.Cells(i, 11)) = CDbl(TBx.Name) Then 'neu
LRx = TBx.Cells(TBx.Rows.Count, 1).End(xlUp).Row + 1
TB1.Cells(i, 1).Resize(1, Sp).Copy TBx.Cells(LRx, 1).Resize(1, Sp)
TBx.Cells(LRx, 1).Resize(1, Sp).Font.Color = vbBlack
End If
End If
End If
Next
Next
MsgBox "Fertig"
End Sub
Meine Frage jetzt:
Gibt es eine Möglichkeit den Code so zu ändern, das Änderungen die in der Übersicht getätigt werden, auf den einzelnen Tabellenblättern auch an der gleichen Stelle vorgenommen werden wie in der Übersicht und nicht wie bisher immer ganz unten?? (Also wenn z.B. nach dem 3. Mitarbeiter eine Zeile eingefügt wird, dass diese auch auf allen Tabellenblättern nach dem 3.Mitarbeiter eingefügt wird und nicht wie bisher ganz unten)
Gibt es zusätzlich eine Möglichkeit, wenn Mitarbeiter herausfallen, diese ab der betreffenden KW nicht mehr erscheinen zu lassen?
Vielen Dank schon mal im Voraus.
Anzeige