ich habe folgende Problemstellung:
Ich will eine Reihe von Dateien (wie eine TExtdatei, wenn ich sie mit excel öffne, stehen meine Werte in Spalte A in Zeilen 1-x) importieren und alle in ein Tabellenblatt kopieren. Jede Datei soll in eine extra Spalte kopiert werden. Leider funktioniert das nicht. Es kommt ein Laufzeitfehler . Anwendungs- oder Objektdefinierter Fehler. Der Fehler zeigt auf die Zeile
Quelle.Sheets().Range("A347:A406").Copy after:=Ziel.Sheets("EPROM").Range(Cells(1, x), Cells(60, x))
Die Datei wird geöffnet, aber das kopieren funktioniert dann anscheinend nicht mehr.Meine Vermutung ist, dass ich das Quelle.Sheets() nicht näher definiere, aber ich weiß nicht wie ich das lösen soll. Das sheet nimmt einfach den Dateinamen an, und es gibt auch nur ein sheet.
Option Explicit
Sub EPROM_laden()
Dim Ziel As Object
Dim Quelle As Object
Dim EPROMPfad As String
Dim EPROMDatei As String
Dim i As Integer
Dim x As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Ziel = ActiveWorkbook
i = 9
Dim a As String
Dim b As String
a = ActiveWorkbook.Sheets("EPROM").Range("c1")
b = ActiveWorkbook.Sheets("EPROM").Range("e1")
x = 0
For i = a To b
Select Case i
Case 9 To 13
EPROMPfad = "C:\Test\Ordner0\EEPROM\"
Case 14 To 23
EPROMPfad = "C:\Test\Ordner1\EEPROM\"
Case 24 To 36
EPROMPfad = "C:\Test\Ordner2\EEPROM\"
Case 37 To 66
EPROMPfad = "C:\Test\Ordner3\EEPROM\"
End Select
EPROMDatei = Dir(CStr(EPROMPfad & "*.hpe"))
Do While EPROMDatei ""
x = x + 1
Set Quelle = Workbooks.Open(EPROMPfad & EPROMDatei, False, True)
Quelle.Sheets().Range("A347:A406").Copy after:=Ziel.Sheets("EPROM").Range(Cells(1, x), Cells(60, _
x))
Quelle.Close
EPROMDatei = Dir()
Loop
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Set Ziel = Nothing
Set Quelle = Nothing
End Sub
GrüßeJonathan