in meinem Programm übertrage ich Daten von verschiedenen Excel Dateien, die in einem Pfad sind, in eine Gesamtliste.
Dies habe ich hinbekommen. Allerdings will ich mein Programm so ändern, dass mein Programm prüft, ob die Datei als Dateiname bereits in der Gesamtliste ist oder nicht. Wenn der Dateiname nicht in der bestimmten Spalte B zu finden ist, dann sollen alle Daten aus der neuen Datei übertragen werden. Wenn die Datei allerdings als Dateiname vorhanden ist, dann bestehen die Daten bereits und dann soll auf die nächste Datei gesprungen werden.
Meine Idee war dieser Code:
Dim strPfad As String, strExt As String, strQuelldatei As String, c As String
Dim objShtZiel As Worksheet
strPfad = "\Pfadname\"
'Schritt 3: Dateiendung angeben'
strExt = "*.xlsx"
'Schritt 4: Prüfen, ob strPfad vorhanden ist und wenn ja, dann laufe durch die Dateien'
If strPfad = "" Then Exit Sub
strQuelldatei = Dir(strPfad & strExt)
Do While Len(strQuelldatei) größer als 1
'Schritt 5: Suche innerhalb der Spalte B den Dateinamen = strQuelldatei'
c = objShtZiel.Range("B:B").Find(strQuelldatei, LookIn:=xlValues)
'Schritt 6: Wenn Dateiname nicht in Spalte B der Gesamtliste objShtZiel zu finden ist, dann übertrage Daten, weil es eine neue Datei dann ist'
If Not strQuelldatei = c
..................
..................
..................
..................
Else
'Schritt 7: Nächste Datei aufrufen'
strQuelldatei = Dir()
End If
Loop
Der "Laufzeitfehler 91, Objektvariable oder with-Blockvariable nicht festgelegt" taucht in der line c = objShtZiel.Range("B:B").Find(strQuelldatei, LookIn:=xlValues) auf. Allerdings kann ich das irgendwie nicht lösen.
Vielen Dank für die Hilfe!
Despina