XL2003: Nur bestimmte Textzeilen importieren

07/04/2011 - 19:47 von Anselm Rapp | Report spam
Hallo,

geht das mit Excel? Mit dBASE wàre es ein Klacks für mich, aber ich will
es, weil veraltet, möglichst vermeiden.

Ich habe eine Textdatei mit allen möglichen Eintràgen. Daraus
extrahieren und in eine Excel-Tabelle importieren möchte ich das:

Text, Text, Text ...
BEGIN_DOWNLOADS 17
/a/datei1.pdf 4 0 134896
/b/datei2.pdf 3 0 112246
/c/spezialdatei32.pdf 3 0 720896
usw.
END_DOWNLOADS
Text, Text, Text ...
BEGIN_SIDER 29
/a/index.php 60 306780 3 8
/b/seite2.htm 13 504764 1 4
/c/sonderseite3.htm 9 32233 0 2
usw.
END_SIDER
Text, Text, Text ...

Die Text-Zeilen, auch BEGIN und END, sollen ignoriert werden und nur die
dazwischen liegenden Zeilen von Excel übernommen werden. Die Zahlen an
den Zeilenenden, z. B. 4 0 134896, sollten in separaten Spalten landen.

Ich rate mal, dass es mit VBA irgendwie geht, aber wie tief muss ich
einsteigen, um das zu realisieren?

Für Hilfe dankbar,

Anselm

E-Mail funktioniert - mit drei Spam-Hürden.
 

Lesen sie die antworten

#1 Hanns-Georg Frank
08/04/2011 - 11:47 | Warnen spam
Versuchs mal damit:

'Vor dem Aufruf dieses Makros die Zieltabelle öffnen
'und in eine leere Zeile positionieren
'Ich gehe davon aus, dass die neuen Werte immer ab Spalte A eingetragen
werden,
'und das die "usw"-Zeilen in der Originaldatei fehlen
'Notfalls nochmal melden

Public Sub Anselm()
Dim Zeile As String
Dim StartFound As Boolean
Dim Inhalt() As String
Dim Anzahl As Integer
Dim i As Integer

'hier den richtigen Pfad und Dateinamen eintragen
Open "D:\Anselm.txt" For Input As #1
StartFound = False
Do While Not EOF(1)
Input #1, Zeile
If Left(Zeile, 6) = "BEGIN_" Then
StartFound = True
Do While StartFound
Input #1, Zeile
If Left(Zeile, 4) = "END_" Then
StartFound = False
Exit Do
End If
Inhalt = Split(Zeile, " ")
Anzahl = UBound(Inhalt)
For i = 0 To Anzahl
ActiveCell.Value = Inhalt(i)
ActiveCell.Offset(0, 1).Activate
Next
'siehe Anmerkungen im Makro-Kops
Range("A" & ActiveCell.Row + 1).Activate
Loop
End If
Loop
Close #1
End Sub

Mit freundlichen Grüßen
Hanns-Georg Frank

Von: Anselm Rapp [mailto:]
Bereitgestellt: Donnerstag, 7. April 2011 19:48
Bereitgestellt in: de.comp.office-pakete.ms-office.excel
Unterhaltung: XL2003: Nur bestimmte Textzeilen importieren
Betreff: XL2003: Nur bestimmte Textzeilen importieren

Hallo,

geht das mit Excel? Mit dBASE wàre es ein Klacks für mich, aber ich will

es, weil veraltet, möglichst vermeiden.

Ich habe eine Textdatei mit allen möglichen Eintràgen. Daraus
extrahieren und in eine Excel-Tabelle importieren möchte ich das:

Text, Text, Text ...
BEGIN_DOWNLOADS 17
/a/datei1.pdf 4 0 134896
/b/datei2.pdf 3 0 112246
/c/spezialdatei32.pdf 3 0 720896
usw.
END_DOWNLOADS
Text, Text, Text ...
BEGIN_SIDER 29
/a/index.php 60 306780 3 8
/b/seite2.htm 13 504764 1 4
/c/sonderseite3.htm 9 32233 0 2
usw.
END_SIDER
Text, Text, Text ...

Die Text-Zeilen, auch BEGIN und END, sollen ignoriert werden und nur die

dazwischen liegenden Zeilen von Excel übernommen werden. Die Zahlen an
den Zeilenenden, z. B. 4 0 134896, sollten in separaten Spalten landen.

Ich rate mal, dass es mit VBA irgendwie geht, aber wie tief muss ich
einsteigen, um das zu realisieren?

Für Hilfe dankbar,

Anselm

E-Mail funktioniert - mit drei Spam-Hürden.

Ähnliche fragen