Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: String auslesen - nur bestimmte Positionen

String auslesen - nur bestimmte Positionen
14.09.2005 11:52:54
Michael
hallo,
die ueberschrift ist etwas ungenau, folgende aufgabe: ich habe einen string in einer excelzelle, z.b. "57738 H4 blablablabla".
ich moechte nun in VBA die ersten 5 Buchstaben (also die nummer) auslesen und diese dann als string weiterverwenden (also: "57738", bzw. in einem weiteren schritt "H4" usw.)
sollte sehr einfach sein, habe aber leider nur eine portugiesische hilfe...
dankeschoen,
michael
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String auslesen - nur bestimmte Positionen
14.09.2005 11:54:49
MichaV
Hallo,
TEIL
Siehe auch
Betrifft auch:
MIDB
TEIL liefert auf der Grundlage der Anzahl von Zeichen, die Sie angeben, eine bestimmte Anzahl Zeichen einer Zeichenfolge ab der von Ihnen angegebenen Stelle.
MIDB liefert auf der Grundlage der Anzahl von Bytes, die Sie angeben, eine bestimmte Anzahl Zeichen einer Zeichenfolge ab der von Ihnen angegebenen Stelle. Diese Funktion wird für Double-Byte-Zeichen verwendet.
Syntax
TEIL(Text;Erstes_Zeichen;Anzahl_Zeichen)
MIDB(Text;Erstes_Zeichen;Anzahl_Bytes)
Text ist die Zeichenfolge, die die Zeichen umfasst, die Sie herauskopieren möchten.
Erstes_Zeichen ist die Position des ersten Zeichens, das Sie aus dem Text herauskopieren möchten. Für das erste Zeichen von Text gilt, dass Erstes_Zeichen den Wert 1 hat, und so weiter.
Ist Erstes_Zeichen größer als die Gesamtlänge von Text, liefert TEIL die Zeichenfolge "" (leere Zeichenfolge).
Ist Erstes_Zeichen kleiner als die Gesamtlänge von Text, aber Erstes_Zeichen plus Anzahl_Zeichen übersteigt die Gesamtlänge von Text, liefert TEIL alle bis zum Ende von Text gehörenden Zeichen.
Ist Erstes_Zeichen kleiner als 1, liefert TEIL den Fehlerwert #WERT!.
Anzahl_Zeichen gibt die Anzahl der Zeichen an, die TEIL aus Text zurückgeben soll. Ist Anzahl_Zeichen negativ, liefert TEIL den Fehlerwert #WERT!.
Anzahl_Bytes gibt die Anzahl der Zeichen in Bytes an, die TEIL aus Text zurückgeben soll. Ist Anzahl_Zeichen negativ, liefert TEIL den Fehlerwert #WERT!.
Beispiele
TEIL("Wonnemonat Mai";1;10) ergibt "Wonnemonat"
TEIL("Wonnemonat Mai";12;20) ergibt "Mai"
TEIL("1234";5;5) ergibt "" (leere Zeichenfolge)
Weitere Beispiele finden Sie bei den Funktionen CODE und FINDEN.
Gruss- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: String auslesen - nur bestimmte Positionen
14.09.2005 11:55:59
u_
Hallo,
wenn immer alle an der gleichen Position ist:
left(string,5)
mid(string,7,2)
mid(string,10)
Gruß
Geist ist geil!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

String auslesen - bestimmte Positionen in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA bestimmte Positionen aus einem String auszulesen, kannst Du die Funktionen LEFT, MID oder LEN verwenden. Hier ist eine einfache Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen und wähle Modul.

  3. Schreibe den folgenden Code:

    Sub StringAuslesen()
       Dim meinString As String
       meinString = "57738 H4 blablablabla"
    
       ' Ersten 5 Buchstaben auslesen
       Dim ersterTeil As String
       ersterTeil = Left(meinString, 5) ' Ergebnis: "57738"
    
       ' Buchstaben ab der 7. Position auslesen
       Dim zweiterTeil As String
       zweiterTeil = Mid(meinString, 7, 2) ' Ergebnis: "H4"
    
       ' Buchstaben ab der 10. Position bis zum Ende auslesen
       Dim dritterTeil As String
       dritterTeil = Mid(meinString, 10) ' Ergebnis: "blablablabla"
    
       ' Ergebnisse in der Konsole ausgeben
       Debug.Print ersterTeil
       Debug.Print zweiterTeil
       Debug.Print dritterTeil
    End Sub
  4. Führe das Skript aus: Klicke auf Ausführen oder drücke F5, um das Skript zu testen.


Häufige Fehler und Lösungen

  • Fehler: #WERT!: Dieser Fehler tritt auf, wenn Du eine ungültige Position angibst. Stelle sicher, dass der Index nicht größer ist als die Länge des Strings.

  • Lösung: Länge ermitteln: Verwende Len(meinString), um die Länge des Strings zu überprüfen, bevor Du auf Positionen zugreifst.

  • Fehler: Leere Zeichenfolge: Wenn Du versuchst, mehr Zeichen auszulesen, als im String vorhanden sind, erhältst Du eine leere Zeichenfolge. Überprüfe die Anzahl der Zeichen, die Du auslesen möchtest.


Alternative Methoden

Neben den Funktionen LEFT und MID kannst Du auch FINDEN verwenden, um die Position eines bestimmten Zeichens zu ermitteln. Beispiel:

Dim position As Integer
position = InStr(meinString, " ") ' Finde die Position des ersten Leerzeichens

Danach kannst Du mit Mid oder Left arbeiten, um Teile des Strings zu extrahieren.


Praktische Beispiele

  1. Erstes Zeichen auslesen:

    Dim erstesZeichen As String
    erstesZeichen = Left(meinString, 1) ' Ergebnis: "5"
  2. Text ab bestimmter Stelle:

    Dim abBestimmteStelle As String
    abBestimmteStelle = Mid(meinString, 8) ' Ergebnis: "H4 blablablabla"
  3. Zeichen bis zu einem bestimmten Zeichen auslesen: Angenommen, Du möchtest alles bis zum ersten Leerzeichen:

    Dim bisZuZeichen As String
    bisZuZeichen = Left(meinString, InStr(meinString, " ") - 1) ' Ergebnis: "57738"

Tipps für Profis

  • VBA-Funktionen kombinieren: Du kannst LEN mit MID kombinieren, um dynamisch Teile eines Strings auszulesen, basierend auf der Länge.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung mit On Error Resume Next, um potenzielle Laufzeitfehler zu vermeiden.

  • Zwei-Dimensionale Arrays: Wenn Du mehrere Strings gleichzeitig verarbeiten möchtest, erwäge die Verwendung von Arrays, um die Effizienz zu steigern.


FAQ: Häufige Fragen

1. Wie kann ich die Länge eines Strings in VBA ermitteln?
Verwende die Funktion Len, um die Länge eines Strings zu bestimmen, z.B.:

Dim laenge As Integer
laenge = Len(meinString)

2. Was mache ich, wenn ich nur einen Teil eines Strings ab einer bestimmten Position möchte?
Nutze die Mid-Funktion, um einen Teilstring ab einer bestimmten Position auszulesen. Beispiel:

Dim teilstring As String
teilstring = Mid(meinString, 5, 3) ' Gibt 3 Zeichen ab der 5. Position zurück.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige