Hallo,
ich habe ein Makro, was mir eine Bereich in einer andere separate Datei kopiert. klappt soweit hervorragend.
Mein soweit funktionierendes Kopier-Makro:
Sub aktualisieren()
Workbooks.Open Filename:= _
"E:\[...]\IST_StandTest_22.05.2020.xlsx", UpdateLinks:=3
Workbooks("Original-Datei.xlsm").Sheets("IST_Stand").Range("B3:E883").Copy
Workbooks("IST_StandTest_22.05.2020.xlsx").Sheets("IST_Stand").Range("B3:E883").PasteSpecial Paste:=xlPasteValues
Workbooks("IST_StandTest_22.05.2020.xlsx").Sheets("IST_Stand").Range("B3:E883").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End Sub
Allerdings stehe ich jetzt vor einem weit schlimmeren Problem.
Ziel ist: jeweils zu einem Zeitpunkt "x" den aktuellsten Stand des Bereichs der Originaldatei als absolute Werte in die andere Datei (Auswertung) zu kopieren. Dabei sollen allerdings die kopierten Werte der vorherigen Aktualisierung nicht überschrieben werden.
Siehe Screens:
Beispiel1; zeigt fiktiven Stand Zeitpunkt 1
Beispiel2; zeigt fiktiven Stand Zeitpunkt 2
Beide Stände bzw. Werte des jeweiligen Standes müssten in einer Tabelle stehen.
Ich brauche daher eine Ergänzung für mein bestehendes Makro, was folgendes ermöglicht (bitte korrigiert, verbessert oder erweitert die Anforderung):
1.prüfe, ob in dem einzufügenden Bereich, in der alten Zeile (Datei Auswertung) ein Wert ≠ "#NV" existiert. (sprich, ist eine Zah wie "Auftragsnr"l, ein Text wie "Name etc." vorhanden)
2.Wenn nein, Werte aus Originalbereich kopieren.
3. Wenn ja, diese Zeile überspringen und bei der nächsten weitermachen, prüfen usw.
Ggf. kann man auch beim Kopiervorgang mitgeben, dass das Makro alle Platzhalterwerte "#NV"" bereits durch "leer" ersetzt.
Ich hoffe, ich konnte mein Anliegen verständlich schildern.
Beispiel 1
Beispiel 2:
|