steinbock86
Goto Top

Mehrere txt Dateien in Excel schreiben

Hallo

Kennt sich jemand mit vb skripten aus?
Habe mehrere txt Dateien die müssen ausgelesen werden und in ein Excel geschrieben werden.

Die txt Dateien sind so aufgebaut. Der erste teil bis zum komma sind immer die überschriften die in die spalten müsse und der teil nach dem komma muss jeweils die Spalte drunter.

txt Datei:
"Hallo","alles klar"
"Blabababbab","yyyyyyyyy"

Content-Key: 223789

Url: https://administrator.de/contentid/223789

Ausgedruckt am: 29.03.2024 um 00:03 Uhr

Mitglied: Meierjo
Meierjo 05.12.2013 aktualisiert um 18:36:43 Uhr
Goto Top
Hallo Steinbock86

Und wie soll das Ganze dann aussehen, sollen die Daten aus
Textfile A in die Zeilen 1 und 2 geschrieben werden
Textfile B in die Zeilen 3 und 4
Textfile C in die Zeilen 5 und 6

Oder sollen alle Textfiles in die Zeilen 1 uns 2 geschrieben werden?

Wieviele Textdateien sind das?
Wieviele Zeilen hat jedes Textfile?


http://www.file-upload.net/download-8367666/Import_alle_TxtFiles.xlsm.h ...
http://www.file-upload.net/download-8367665/Text-A.txt.html
http://www.file-upload.net/download-8367664/Text-B.txt.html
http://www.file-upload.net/download-8367667/Text-C.txt.html

Habe mal eine XLSM Datei hochgeladen, und 3 Beispiel-Textfiles.
Vor dem starten des Makros mit ALT + F11 in die Entwicklungsumgebung wechseln, und den Pfad in Zeile 6 anpassen
allenfalls noch die Erweiterung (*.txt) in Zeile 7 anpassen.

Dann werden alle Textfiles im angegebenen Pfad der Reihe nach eingelesen, Ueberschrift in Zeile 1, der Text in Zeile 2


Gruss meierjo
Mitglied: TsukiSan
TsukiSan 06.12.2013 um 00:03:24 Uhr
Goto Top
Kennt sich jemand mit vb skripten aus?

Hallo steinbock86 und Willkommen im Forum,

dein Frage kann ich mit Ja beantworten. In diesem Forum wirst du mehr als fündig.
Aber ob dir jemand für lau ein massgeschneidertes Script bastelt, weiss ich nicht.
Wir sind hier ein Forum, dass Probleme durchkaut und nach Lösungen schaut und diese
auch meistens zum Schluss findet.

VB-script - meinst du VBS? Wie ist dein Ansatz deines Scriptes? Oder sind die Zeilen geheim?

Gruss
Tsuki
Mitglied: steinbock86
steinbock86 08.12.2013 um 11:57:33 Uhr
Goto Top
Super danke für eure Hilfe funktioniert auch
Hab nur noch ein Problem und zwar ich hab so 100 txt Dateien die sind aber unterschiedlich aufgebaut und zwar so:

Beispiel 1.txt Datei sieht so aus:
"erstens","blabla"
"zweitens","vvvvvv"

2.txt Datei sieht so aus:
"erstens","bbbbb"
"zweitens","ggggg"
"drittens","yyyy"
"viertens","zzzz"

und z.b. die 52. txt Datei sieht so aus:
"erstens","kkkk"
"zweitens","lllllll"
"drittens","ppppp"

Die muss ich jetzt auslesen und folgendermaßen in excel importieren. Das was vor dem "Komma" steht ist die Überschrift.

Excel (mal die 1. und 2. txt Datei, der Rest folgt drunter):

"erstens" "zweitens"
"blabla" "vvvvvv"
idealerweise jetzt eine Zeile freilassen, dann 2.txt datei
"erstens" "zweitens" "drittens" "viertens"
"bbbbb" "ggggg" "yyyy" "zzzz"
Mitglied: Meierjo
Lösung Meierjo 08.12.2013, aktualisiert am 09.12.2013 um 08:16:44 Uhr
Goto Top
Hallo

Dann könnte der Code in etwa so aussehen
Sub Import_alle_TxtFiles()

    Dim X As Double
    Dim y As Double
    Dim Txt1 As String
    Dim Txt2 As String
    Dim Datei As String
    Dim PFAD As String
    
    PFAD = "D:\Temp\"  
    Datei = Dir(PFAD & "*.txt")  
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Cells.Delete
    X = 0
    y = 0
    Do While Datei <> ""  
        X = 0
        Open PFAD & "\" & Datei For Input As #1  
        Do While Not EOF(1)
        Input #1, Txt1, Txt2
            Cells(1, 1).Offset(y, X) = Txt1
            Cells(2, 1).Offset(y, X) = Txt2
            X = X + 1
        Loop
        Close #1
        Datei = Dir()
        y = y + 3
    Loop
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Gruss meierjo

[Edit Biber] Codetags. [/Edit]
Mitglied: steinbock86
steinbock86 09.12.2013 um 07:52:36 Uhr
Goto Top
jetzt fehlt mir nur noch folgendes:

und zwar ist jede txt datei unter einem benutzernamen abgespeichert der müsste jeweils in Spalte A stehen. also z.b.
st-name_XYZ_bla.txt............wobei nur name jeder seinen eigenen hat der rest(st-_XYZ_bla.txt ist bei allen gleich)

Also z.B. bei der 52. txt Datei müsste dann in Excel stehen


Spalte A Spalte B Spalte C Spalte D
name "erstens" "zweitens" "drittens"
"kkkk" "lllllll" "ppppp"
Mitglied: Meierjo
Meierjo 09.12.2013 um 08:00:32 Uhr
Goto Top
Hallo

Du meinst, der Dateiname ist derjeinge des Benutzers, oder hat du pro Benutzername ein Verzeichnis??

gruss
Mitglied: steinbock86
steinbock86 09.12.2013 um 08:23:10 Uhr
Goto Top
der Dateiname ist derjeinge des Benutzers
Mitglied: Meierjo
Meierjo 09.12.2013 aktualisiert um 10:33:52 Uhr
Goto Top
Hallo
Probiers mal so

Sub Import_alle_TxtFiles()
    Dim X As Double
    Dim Y As Double
    Dim Txt1 As String
    Dim Txt2 As String
    Dim Datei As String
    Dim PFAD As String
    PFAD = "E:\Excel\"  
    Datei = Dir(PFAD & "*.txt")  
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Cells.Delete
    'X = 0  
    Y = 0
    Do While Datei <> ""  
    X = 1
    Open PFAD & "\" & Datei For Input As #1  
    Cells(Y + 1, 1).Value = Datei
    Do While Not EOF(1)
        Input #1, Txt1, Txt2
            Cells(1, 1).Offset(Y, X) = Txt1
            Cells(2, 1).Offset(Y, X) = Txt2
            X = X + 1
        Loop
        Close #1
        Datei = Dir()
        Y = Y + 3
    Loop
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Gruss

[Edit Biber] Codetags. [/Edit]
Mitglied: steinbock86
steinbock86 09.12.2013 um 10:14:16 Uhr
Goto Top
weltklasse danke dir
Mitglied: steinbock86
steinbock86 09.12.2013 um 18:38:14 Uhr
Goto Top
jetzt fehlt mir nur noch folgendes und zwar soll es in der Excel Datei so ausschauen wie unten:

Es gibt noch einen Hacken und zwar sind die txt Dateien unterschiedlich aufgebaut, siehe beispielsweise 3.txt datei es gibt noch mehrere solcher

z.b. ist die 3. txt datei so aufgebaut:
"erstens","aaaaa"
"viertens","cccc"
"fünftens", "yyyyyyy"


Es ist ja so dass die txt Dateien unterschiedliche Länge an Überschriften haben, aber max. 25.


hier die ExcelDatei

name "erstens" "zweitens" "drittens" "viertens" "fünftens"............."fünfundzwanzigstens" (Spaltenüberschriften in Excel A-E)
(eine Zeile frei idealerweise)
Dateiname 1.txt datei "blabla" "vvvvvv"
Dateiname 2.txt datei "bbbbb" "ggggg" "yyyy" "zzzz"
Dateinname 3. txt datei "aaaaa" "cccc" "yyyyyyy"

.
.
Dateiname 52.txt datei "kkkk" "lllllll" "ppppp"
Mitglied: Meierjo
Meierjo 10.12.2013 um 06:27:52 Uhr
Goto Top
Hallo und guten morgen

Verstehe nicht ganz, was du meinst.
Sind maximal 25 Ueberschriften pro Textdatei? Soll immer der Inhalt aus "erstens", "zweitens", "fünftens", etc untereinander aufgelistet werden?

Oder sind pro Zeile mal 2 Inhalte, wie in Dateiname 1.txt, mal 4 Inhalte, wie in Dateiname 2.txt
Oder ist das Problem, dass nicht immer mit Komma getrennt wird zwischen Ueberschrift und Inhalt?

Gruss
Mitglied: steinbock86
steinbock86 10.12.2013 um 12:36:49 Uhr
Goto Top
Entschuldigung die seite hier hat die formatierung (die ganze leerzeichen) sodass eben die 3.txt datei des "cccc" unter "viertens" steht und des "yyyyyyy" unter "fünftens"
steht nicht übernommen. das war des problem


z.b. ist die 3. txt datei so aufgebaut:
"erstens","aaaaa"
"viertens","cccc"
"fünftens", "yyyyyyy"


es sind max. 29 Überschriften pro txt datei. Genau der Inhalt aus "erstens", "zweitens", "fünftens", etc soll untereinander aufgelistet werden und es sind pro Zeile mal 2 Inhalte, wie in Dateiname 1.txt, mal 4 Inhalte, wie in Dateiname 2.txt. Am Ende soll man dann jeweils in den Spalten filtern können.

Die Excel müsste so ausschauen (ich schreib die Zellen mit dahinter in Klammern)

name(A1) "erstens"(B1) "zweitens"(C1) "drittens"(D1) "viertens"(E1) "fünftens"(F1)............."neunundzwanzigstens"(AC1) (Spaltenüberschriften in Excel A-AC)
(eine Zeile frei idealerweise)
Dateiname 1.txt datei(A2) "blabla"(B2) "vvvvvv"(C2)
Dateiname 2.txt datei(A3) "bbbbb"(B3) "ggggg"(C3) "yyyy"(D3) "zzzz"(E3)
Dateinname 3. txt datei(A4) "aaaaa"(B4) "cccc"(E4) "yyyyyyy"(F4)

.
.
.
.
runter bis ende verzeichnis
Mitglied: Meierjo
Meierjo 10.12.2013 um 13:53:50 Uhr
Goto Top
Hallo

Ok, jetzt wird's aber langsam kompliziert.

Hat denn die erste Datei, die eingelesen weren soll, immer alle Spalten-Ueberschriften (erstens bis neunundzwangistens), (Was für ein Wort face-smile face-smile), oder sind da auch schon Lücken drin??

Gruss
Mitglied: steinbock86
steinbock86 10.12.2013 um 13:59:12 Uhr
Goto Top
da sind lücken drin.....es hat keine datei alle 29 überschriften, des maximale was eine datei hat sind 25 Überschriften.

z.b. ist die 3. txt datei so aufgebaut:
"erstens","aaaaa"
"viertens","cccc"
"fünftens", "yyyyyyy"

die 11.txt datei ist so aufgebaut:
"erstens","vvvvv"
"zweitens","yyyyy"
"fünftzehntens","ssssss"

da muss man wahrscheinlich alles umschreiben oder?
Mitglied: steinbock86
steinbock86 10.12.2013 um 15:14:38 Uhr
Goto Top
habs danke dir face-smile