Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1800to1804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

TextDatei importieren

TextDatei importieren
26.12.2020 15:26:17
JoS
Hallo,
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üße
Jonathan

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TextDatei importieren
26.12.2020 16:03:33
Nepumuk
Hallo Jonathan,
im Prinzip so:
Quelle.Sheets().Range("A347:A406").Copy Detination:=Ziel.Sheets("EPROM").Cells(1, x)

Es fehlt noch die Angabe des Worksheets im Quelle-Workbook.
Gruß
Nepumuk
AW: TextDatei importieren
26.12.2020 16:05:23
Nepumuk
Oooooooooooops,
Destination muss das heißen.
Gruß
Nepumuk
AW: TextDatei importieren
26.12.2020 19:09:39
JoS
Nochmals Vielen Dank, funktioniert einwandfrei, aber eine Frage habe ich noch:
Warum funktioniert .Cells(1,x) wenn ich eine ganze Range an Daten habe.
Gibt das immer nur den Startpunkt an? Scheint ja so zu sein.
Anzeige
AW: TextDatei importieren
26.12.2020 19:12:02
Nepumuk
Hallo,
ja richtig, beim Einfügen musst du nur die oberste linke Zelle angeben.
Gruß
Nepumuk
AW: TextDatei importieren
26.12.2020 19:54:19
JoS
Super, vielen Dank wieder was dazu gelernt
Gruß
Jonathan
AW: TextDatei importieren
26.12.2020 16:33:51
JoS
genau das ist mein Problem. Habs aber jetzt geschafft den Namen des sheets zu ermitteln. Aber jetzt funktioniert nur die erste Schleife
Sobald das erste i durchlaufen ist, passiert leider nichts mehr. Verstehe nicht wieso er nicht NExt I macht.
Den sheetname habe ich jetzt so ermittelt, und das funktioniert.
strFile = Right(EPROMDatei, Len(EPROMDatei) - InStrRev(EPROMDatei, "\"))
strFile = Left(strFile, (InStrRev(strFile, ".") - 1))

Anzeige
AW: TextDatei importieren
26.12.2020 16:47:28
Nepumuk
Hallo Jonathan,
was steht denn in a und b?
Gruß
Nepumuk
Erledigt
26.12.2020 16:50:28
JoS
Entschuldige, wenn die Variablen a und b gleich sind dann wird wohl i nur einmal durchlaufen
AW: Erledigt
26.12.2020 17:11:04
JoS
Vielen Dank für deine Hilfe!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige