AW: An Piet - zum Thema Daten aus anderem TabBlatt kopieren
30.01.2024 08:09:30
Timo
Noch ein Nachtrag:
Also der Code sieht wie folgt aus:
For Each AC In .Range("B1:B" & lz1)
'1. Cells Reihe = Zelle in Zieltabelle
'AC.Offset(0, x) => Zelle aus import
Wert = AC.Offset(0, 6) ' H Dateiname
Datum = AC.Offset(0, 2) ' D = Datum (oder Offset(0,4)
Adr = LS.Cells(lz, "C").Address
If AC = "ZVL" Then 'LS H, J, K
LS.Cells(lz, "D") = AC.Offset(0, 6) 'H
LS.Cells(lz, "E") = AC.Offset(0, 8) 'J
LS.Cells(lz, "F") = AC.Offset(0, 9) 'K
LS.Cells(lz, "C") = Datum
If InStr(Wert, "3D") Then
LS.Cells(lz, "C") = "=" & Adr & " + 1"
LS.Cells(lz, "C").Value = LS.Cells(lz, "C").Value
End If
lz = lz + 1
ElseIf AC = "ZVG" Then 'GS H, J, K
GS.Cells(gz, "D") = AC.Offset(0, 6) 'H
GS.Cells(gz, "E") = AC.Offset(0, 8) 'J
GS.Cells(gz, "F") = AC.Offset(0, 9) 'K
GS.Cells(lz, "C") = Datum
If InStr(Wert, "ELV") Then
LS.Cells(lz, "C") = "=" & Adr & " + 1"
LS.Cells(lz, "C").Value = LS.Cells(lz, "C").Value
End If
gz = gz + 1
Excel macht etwas, seitdem ich den geändert Code auch für das Tabellenblatt GS geändert hatte.
Es soll ja folgendes passieren:
Es soll aus dem Tabellenblatt import -> Spalte I das Datum auf das Tabellenblatt LS und GS jeweils in die Spalte C (ab Zeile 9) kopiert werden.
Bei GS - Sofern im Zieltabellenblatt in Spalte D im Dateinamen ein 3D vorkommt, soll er das Datum hier um 1 Tag addieren. Auf Tabellenblatt GS ebenfalls, allerdings hier wenn ein ELV im Dateinamen (Spalte D) vorhanden ist.
Nachdem ich den Code auch für Tabelle GS hinterlegt hatte, wird das Datum addiert. Allerdings mit 2 kleinen Fehlern:
- In der Zieltabelle wird ein Datum unten zu viel angezeigt. Also ein Datum wo in Spalte D keine Werte hinterlegt sind und hier die Tabelle enden sollte &
- Das Datum welches die Bedingung erfüllt und um 1 Tag erhöht wird, hier wird die Spalte formatiert. Auf einmal steht hier die Uhrzeit.
Vielleicht hilft das ja.
Falls nicht, wie geschrieben, halb so wild. :)
LG Timo