bin inzwischen an einem Punkt, wo ich Eure Unterstützung brauche. Nachdem ich mit externer Unterstützung bereits folgendes Makro zum Laufen gebracht habe komme ich nun nicht mehr weiter. Das Makro liest aus einer Textdatei, die sich aus mehreren Emails (per Outlook über "speichern unter" erzeugt) zusammensetzt verschiedene Zeileninhalte satzweise in die Spalten einer Exceldatei aus. Leider ist es so, dass in den einzelnen Emails nicht immer alle Infos an der gleichen Stelle stehen bzw. teilweise weitere relevante Zeilen (wie z.B. Telefonnummer) hinzugefügt sind, so dass ich durch den Zähler (i), der stur Zeile für Zeile durchliest Probleme bekomme. Wie kann ich das Makro so flexibel gestalten, dass ich die Datensätze dennoch in die Spalten in mein Excelsheet bekomme.
Danke und Gruss
Hartmut
Makro:
Sub Auslesen()
Workbooks("Input.txt").Activate
lngmax = Cells(Rows.Count, 1).End(xlUp).Row
k = 1
For i = 1 To lngmax
If Left$(Cells(i, 1), 12) = "Artikelbesch" Then
ArtBeschr = Cells(i + 1, 1)
ArtNr = Right$(Cells(i + 2, 1), Len(Cells(i + 2, 1)) - 15)
VerkPreis = Right$(Cells(i + 3, 1), Len(Cells(i + 3, 1)) - 15)
EndeDatum = Right$(Cells(i + 4, 1), Len(Cells(i + 4, 1)) - 19)
ZahlGebote = Right$(Cells(i + 5, 1), Len(Cells(i + 5, 1)) - 23)
MitgliedsnameVerk = Right$(Cells(i + 6, 1), Len(Cells(i + 6, 1)) - 31)
EmailVerk = Right$(Cells(i + 7, 1), Len(Cells(i + 7, 1)) - 32)
NameVerk = Right$(Cells(i + 8, 1), Len(Cells(i + 8, 1)) - 6)
StrasseVerk = Right$(Cells(i + 9, 1), Len(Cells(i + 9, 1)) - 8)
OrtVerk = Right$(Cells(i + 10, 1), Len(Cells(i + 10, 1)) - 5)
MitgliedsnameHoechst = Right$(Cells(i + 11, 1), Len(Cells(i + 11, 1)) - 34)
EmailHoechst = Right$(Cells(i + 12, 1), Len(Cells(i + 12, 1)) - 35)
NameHoechst = Right$(Cells(i + 13, 1), Len(Cells(i + 13, 1)) - 6)
StrasseHoechst = Right$(Cells(i + 14, 1), Len(Cells(i + 14, 1)) - 8)
OrtHoechst = Right$(Cells(i + 15, 1), Len(Cells(i + 15, 1)) - 5)
Workbooks("Auswertung.xls").Activate
Cells(k, 1) = Trim(ArtBeschr)
Cells(k, 2) = Trim(ArtNr)
Cells(k, 3) = Trim(VerkPreis)
Cells(k, 4) = Trim(EndeDatum)
Cells(k, 5) = Trim(ZahlGebote)
Cells(k, 6) = Trim(MitgliedsnameVerk)
Cells(k, 7) = Trim(EmailVerk)
Cells(k, 8) = Trim(NameVerk)
Cells(k, 9) = Trim(StrasseVerk)
Cells(k, 10) = Trim(OrtVerk)
Cells(k, 11) = Trim(MitgliedsnameHoechst)
Cells(k, 12) = Trim(EmailHoechst)
Cells(k, 13) = Trim(NameHoechst)
Cells(k, 14) = Trim(StrasseHoechst)
Cells(k, 15) = Trim(OrtHoechst)
k = k + 1
Workbooks("Input.txt").Activate
End If
Next i
Workbooks("Auswertung.xls").Activate
End Sub