Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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

Textimport in Excel (Zeilenweise)

Textimport in Excel (Zeilenweise)
Matthias
Hallo,
da ich leider noch keine VBA-Kenntnisse habe wende ich mich an Euch.
Ich habe folgendes Problem:
Aus der Daten https://www.herber.de/bbs/user/69745.txt sollen Zeilenweise die Werte ausgelesen werden, d.h. zu Beginn einmal die Zeile A im Excel Sheet mit den "Überschriften" befüllen und danach dann jeweils die Werte unterhalb der entsprechenden Überschrift schreiben.
Das Excel-File soll am Ende so aussehen:

Die Datei https://www.herber.de/bbs/user/69746.xls wurde aus Datenschutzgründen gelöscht


Ich hoffe ihr versteht, was ich meine und könnt mir weiterhelfen.
Das Text-File hat ca 100.000 Zeilen die sich immer wieder wiederholen, manchmal stehen Werte hinter den "Überschriften" manchmal nicht. Wenn nichts dran steht, soll auch nichts reingeschrieben werden.
Es soll sozusagen 1:1 importiert werden.
Grüße und besten Dank im Voraus
Matthias

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
ohne VBA
26.05.2010 15:37:52
ChrisL
Hi Matthias
Beispiel im Anhang:
https://www.herber.de/bbs/user/69748.xls
Erstmal über Menü Daten, Text in Spalten (Trennzeichen ":"). Danach mit Formel...
=INDEX('Text in Spalten'!$1:$65536;(((ZEILE()-1)*91)-90)+SPALTE()-1;2)
Bei 100'000 Zeilen müsstest du es halt in 2 Tranchen machen.
cu
Chris
AW: ohne VBA
26.05.2010 16:49:00
Matthias
Hallo Chris,
vielen Dank!
Dein Code funktioniert ... zum Teil.
Also die Übernahme klappt, jedoch werden einige Zahlen als 4,97144E+11 und so dargestellt. Der Fehler liegt dabei aber schon beim einlese
Und durch das ganze "Copy+Paste" habe ich zwar Zeit gewonnen, aber es ist immernoch nicht optimal, da immer wieder solche Dateien kommen und dort dann, meiner Meinung nach, ein Makro optimal wäre, da man dies nur einmal wieder anschupsen muss und dann werden die Daten übernommen.
Ich hoffe das es auch möglich ist, dies als VBA zu realisieren.
Gruß
Matthias
Anzeige
AW: Textimport in Excel (Zeilenweise)
26.05.2010 17:34:13
David
Hallo Matthias,
auch keine VBA-Lösung, aber immerhin ohne weitere Datenaufbereitung:
https://www.herber.de/bbs/user/69751.xls
Deine einzige "Arbeit" wäre es, die Textdatei zu öffnen, alles zu markieren und per Copy and Paste in das Blatte 'Daten' einzufügen. Die Auswertung würde sich dann anpassen.
Die Hilfsspalte könnte man theoretisch in die Formeln integrieren, bei 10000 DAtensätzen würde aber jedem Rechner die Puste ausgehen, deshalb stehen lassen und ausblenden.
Ich war mir nicht sicher, ob die Struktur selbst immer gleich ist, deswegen habe ich die Überschriftenspalte noch einigermaßen variabel gestaltet. Falls das nicht nötig ist, vielleicht einfach die Werte reinkopieren.
Gruß
David
Anzeige
AW: Textimport in Excel (Zeilenweise)
27.05.2010 08:21:25
Matthias
Hallo David,
vielen Dank für deine Hilfe.
Das klappt soweit einwandfrei!
Es ist etwas weniger "Arbeit" als die Lösung von Chris, das stimmt.
Gruß
Matthias
AW: Textimport in Excel (Zeilenweise)
26.05.2010 21:27:20
Anton
Hallo Matthias,
probier sowas:
Code:

Sub b()
  Dim fs, a, i, j, strzeile, pos, pfad
  pfad = "E:\tmp\69745.txt" 'anpassen
  Set fs = CreateObject("Scripting.FileSystemObject")  
  Set a = fs.OpenTextFile(pfad, 1, False)  
  j = 2
  Do While a.AtEndOfStream <> True    
    strzeile = a.ReadLine
    i = 1
    If Left(UCase(strzeile), 5) = "TITLE" Then  
      pos = InStr(1, strzeile, ":")
      Cells(1, i) = Left(strzeile, pos + 1)
      Cells(j, i) = Mid(strzeile, pos + 1)
      Do
        i = i + 1
        strzeile = a.ReadLine
        If strzeile = "" Then Exit Do    
        pos = InStr(1, strzeile, ":")
        Cells(1, i) = Left(strzeile, pos + 1)
        Cells(j, i) = Mid(strzeile, pos + 1)
      Loop
      j = j + 1
    End If  
  Loop
  a.Close
  Set fs = Nothing  
End Sub  


mfg Anton
Anzeige
AW: Textimport in Excel (Zeilenweise)
27.05.2010 08:22:05
Matthias
Hallo Anton,
herzlichen Dank für deine Bemühungen.
Das ist genau das, was ich gesucht habe. Es funktioniert einwandfrei.
Super.
Grüße
Matthias

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige