Textdatei in Excel auslesen

Ich möchte eine Textdatei in Excel zeilenweise auslesen lassen. Der Inhalt der Zeile soll in einer MsgBox angezeigt werden und der Nutzer soll die Möglichkeit haben, den ganzen oder einen Teil dieser Zeile zu markieren und diesen dann per Button einer bestimmten Kategorie zuordnen lassen. Excel soll dann den markierten Teil in die dafür vorgesehene Spalte der Tabelle schreiben.

Die Textdatei hat z.B. folgenden Aufbau:

Das ist der Titel
Erschienen in Zeitung xxx, Seite a-b, Erscheinungsjahr
Vorname des Autors, dessen Nachname, diverse Co-Autoren
kurze Zusammenfassung des Inhalts
.
.
.
.
.

Nächster Eintrag in ähnlicher Form

Wie könnte ich das am besten mit VBA realisieren?

Vielen Dank für die gemachte Mühe.

Ich möchte eine Textdatei in Excel zeilenweise auslesen
lassen. Der Inhalt der Zeile soll in einer MsgBox angezeigt
werden und der Nutzer soll die Möglichkeit haben, den ganzen
oder einen Teil dieser Zeile zu markieren und diesen dann per
Button einer bestimmten Kategorie zuordnen lassen. Excel soll
dann den markierten Teil in die dafür vorgesehene Spalte der
Tabelle schreiben.

Die Textdatei hat z.B. folgenden Aufbau:

Das ist der Titel
Erschienen in Zeitung xxx, Seite a-b, Erscheinungsjahr
Vorname des Autors, dessen Nachname, diverse Co-Autoren
kurze Zusammenfassung des Inhalts
.

Nächster Eintrag in ähnlicher Form

Wie könnte ich das am besten mit VBA realisieren?

Vielen Dank für die gemachte Mühe.

Hm, also in abgewandelter Form habe ich momentan eine ähnliche Aufgabe zu erledigen. Das einfachste ist wohl, alle Zeilen durch zu parsen und entsprechend die Daten zu verarbeiten. Bei mir sieht das z.B. grob so aus:

iLastRow = LastRow()
sLastCol = LastColumn()
For iScope = 1 To iLastRow
sOut = Parse_Zeilen(Range(„A“ & CStr(iScope) & „:“ & sLastCol & CStr(iScope)))
If sOut „“ Then
’ tue irgendwas
End If
Next iScope

Function LastRow() As Integer
LastRow = Range(„A“ & CStr(Rows.Count)).End(xlUp).Row 'Letzte Zeile in Spalte A bestimmen
End Function

Function LastColumn() As String
Dim iHelp As Integer
iHelp = Range(„IV1“).End(xlToLeft).Column 'Letzte Spalte
LastColumn = spalten_buchstabe(iHelp)
End Function

Function spalten_buchstabe(spaltennummer) As String

’ Wandelt Spaltenzahl in Buchstabe(n) A bis IV um

If spaltennummer „“ Then
'String der Zelle Verarbeiten
End If
Next z
Parse_Zeilen = Rueckgabestring
End Function

Dass ich einen Bereich nehme, hat damit zu tun, dass ich etwas flexibler sein möchte und nicht nur Daten in der Spalte A verarbeiten können möchte, sondern je nach Import-Spaltentrennung auch bis Spalte IV berücksichtige.

Die String-Verarbeitung musst Du dann selbst noch auskaspern, ebenso die Kategoriezuordnung, dafür fehlt mir momentan die Zeit und habe selbst zu tun.
Notfalls kurze e-mail an mich, s.o. oder [email protected] (tagsüber wochentags)
Ich hoffe, ich konnte wenigstens ein bisschen helfen…

Gruss,
Harald