Text aus Zelle schrittweise auslesen?

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Novazizo|Sabrina.

    Text aus Zelle schrittweise auslesen?

    Hallo Community,

    ich habe ein riesiges Problem mit Excel 2007 bzw VBA.

    Folgender Sachverhalt:



    Ich möchte erreichen, dass das Programm erst erkennt was für ein Buchstabe als erstes Zeichen gesetzt ist (In diesem Fall "D").

    Das Programm soll erkennen wieviele Zeichen in der Zeile sind.

    Wenn "D" erkannt wurde soll das Programm die 3-8 Stelle auslesen und als Zeilenkopf auf dem nächsten Tabellenblatt einsetzen.

    Dann soll das Programm 11 Stellen weiterspringen, die nächsten 8 Ziffern auslesen und in das nächste Tabellenblatt als zweiten Zeilenkopf setzen.

    Dann wieder 11 Stellen springen und das selbe nochmal bis zum Ende der Zeile.

    Am Ende sollte also auf Tabellenblatt2 folgendes stehen:



    Wie kann ich erreichen das VBA die Zelle bis zum Ende ausliest?
    Wie kann VBA erkennen ob ein "D" am Anfang steht oder beispielsweise ein "V"?
    Wie kann ich erreichen das VBA immer die geforderten 8 Ziffern in das folgende Tabellenblatt untereinander schreibt?

    Ich hoffe ihr könnt mir Ansätze (Links zu Lösungen ähnlicher Art) zeigen oder anders helfen.

    Mit freundlichen Grüßen
    Die No

    Ich habe jetzt mal angefangen etwas zu probieren... soweit funktioniert das... :

    Spoiler anzeigen

    Visual Basic-Quellcode

    1. Private Sub CommandButton1_Click()
    2. Dim AnzZeichen As Integer
    3. Dim ErstesZeichen As String
    4. ' Anzahl Zeichen ermitteln.
    5. AnzZeichen = Len(Cells(1, 1))
    6. ' Erstes Zeichen ermitteln.
    7. ErstesZeichen = Left(Cells(1, 1).Text, 1)
    8. ' Prüfen ob das Erste Zeichen ein "D" ist...
    9. If ErstesZeichen = "D" Then
    10. ' ... wenn ja: Testen ob es mindestens 2 Arbeitsblätter in der Mappe gibt...
    11. If Sheets.Count < 2 Then
    12. ' ... wenn nein: eine entsprechende Fehlermeldung ausgeben:
    13. MsgBox " Umschalten auf Blatt 2 nicht möglich ! ", _
    14. 48, " Arbeitsblatt nicht vorhanden :-( "
    15. Else
    16. ' ... wenn ja: Kopieren von 3-6 Stelle und Anzeige auf das 2-te Blatt umschalten.
    17. Sheets(2).Cells(1, 1).Value = Mid$(Sheets(1).Cells(1, 1).Value, 3, 6) ' Schleife einbauen
    18. Sheets(2).Select
    19. End If
    20. Else
    21. ' ... wenn nein: eine entsprechende Fehlermeldung ausgeben:
    22. MsgBox " Ist keine Definiton vorhanden! ", _
    23. 48, " Keine Definiton :-( "
    24. End If
    25. End Sub


    Nächster Schritt: Welche Schleife ist die Beste um alle Daten einzutragen??

    Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von „Novazizo|Sabrina“ ()

    Danke für die Hilfe... hab es jetzt hinbekommen... :thumbup:

    habe es mit einer while-schleife erledigt.

    Liebste Grüße
    No!

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „Novazizo|Sabrina“ ()