28.04.2016, 16:01
(Dieser Beitrag wurde zuletzt bearbeitet: 29.04.2016, 08:13 von Rabe.
Bearbeitungsgrund: Schriftformatierung entfernt, Code als Code formatiert
)
Hallo liebe Experten,
nach langer suche im Internet habe ich ein Code gefunden was meinen Wünschen zu 80% entspricht.
Da ich total der Anfänger in VBA bin brauche ich bitte eure Hilfe!
Ich möchte ca. 500 txt Dateien in Excel einladen über VBA. Die Texte der txt Dateien liegen zb in C:\Test
In Spalte A sollte der Dateiname der txt Datei stehen
In Spalte B der Textinhalt der txt Datei. ( Die Inhalte der txt Datei sind Höchsten 10 bis 20 Wörter, in vielen steht auch kein Text)
Der Code denn ich gefunden habe funktioniert wunderbar, nur läd er alles untereinander ein, möchste es aber nebeneinander. Und am liebsten wäre es mir wenn ich auf das Makro gehe das ich die TXT Dateien auch einzel auswählen kann.
Anbei der Code:
Vielen Dank schon mal an alle.
nach langer suche im Internet habe ich ein Code gefunden was meinen Wünschen zu 80% entspricht.
Da ich total der Anfänger in VBA bin brauche ich bitte eure Hilfe!
Ich möchte ca. 500 txt Dateien in Excel einladen über VBA. Die Texte der txt Dateien liegen zb in C:\Test
In Spalte A sollte der Dateiname der txt Datei stehen
In Spalte B der Textinhalt der txt Datei. ( Die Inhalte der txt Datei sind Höchsten 10 bis 20 Wörter, in vielen steht auch kein Text)
Der Code denn ich gefunden habe funktioniert wunderbar, nur läd er alles untereinander ein, möchste es aber nebeneinander. Und am liebsten wäre es mir wenn ich auf das Makro gehe das ich die TXT Dateien auch einzel auswählen kann.
Anbei der Code:
Code:
Option Explicit
Global txtpfad As String
Sub test()
Dim t As String, Datei As String
txtpfad = "C:\Test\"
Datei = Dir$(txtpfad & "*.txt")
While Len(Datei)
bearbeite Datei
Datei = Dir$
Wend
End Sub
Sub bearbeite(t As String)
Dim n As String, tmp As String
Static z As Long
n = Left$(t, InStrRev(t, ".") - 1)
Open txtpfad & t For Input As #2
z = z + 1
Cells(z, 1).Value = n '<-- Dateiname
While Not EOF(2)
Line Input #2, tmp
z = z + 1
Cells(z, 1).Value = tmp '<-- Textzeilen
Wend
z = z + 1
Cells(z, 1).Value = "---------------"
Close #2
End Sub
Vielen Dank schon mal an alle.