Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: String kürzen

String kürzen
19.01.2018 16:57:11
Schwipp
Liebe Leute,
ich habe ein Programm mit VBA Code.
In Zelle A5 steht ein String aus 3 Buchstaben und 5 Ziffern.
z.b. NR-12345,
wobei die Ziffern sich im Laufe der Zeit der ändern.
Jetzt möchte ich diesen String, der immer mit NR- beginnt, um diese ersten drei Stellen kürzen und nur die 5 Ziffern dahinter in eine Variable
namens “Ziffern” schreiben.
Wie mache ich das?
ciao Schwipp
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String kürzen
19.01.2018 17:03:31
Daniel
HI
wenn immer die ersten 3 stellen weg müssen, am einfachsten mit der MID-Funktion:

Ziffern = Mid(Range("A5").Value, 4)

die länge brauchst du in VBA nicht angeben, wenn du weg lässt wird in VBA der Teilstring ab der angegebenen Startposition bis zum Ende verwendet.
Gruß Daniel
Anzeige
AW: String kürzen
19.01.2018 18:05:58
Schwipp
Klappt wunderbar, danke,
was noch fehlt:
der Wert von "Ziffern" nun in Zelle A6 schreiben....
AW: String kürzen
19.01.2018 20:05:44
Daniel
Das hattest du nicht gefragt.
Außerdem, wenn du weißt, wie ein Wert aus einer Zelle in eine Variable kommt, dann weißt du auch, wie er aus der Variablen in die Zelle kommt, das ist nämlich die gleiche Anweisung
Anzeige
AW: String kürzen
19.01.2018 22:55:45
Schwipp
Ja Daniel, das hatte ich nicht gefragt, aber war dann mein nächstes Problem, an dem ich herumdoktorte,
nun ist es gelöst. Ich Danke Dir und Gerd!
AW: Direkt eifügen
19.01.2018 20:23:03
Gerd
Hallo,
wenn nichts weiter anliegt:
With Range("A6")
.Value = Mid(.Offset(-1).Value, 4)
End With

cu Gerd
Anzeige
AW: Direkt eifügen
19.01.2018 22:51:15
Schwipp
Herzlichen Dank, Gerd!
;
Anzeige
Anzeige

Infobox / Tutorial

Strings in Excel mit VBA kürzen


Schritt-für-Schritt-Anleitung

Um einen String in Excel mit VBA zu kürzen, kannst Du die Mid-Funktion verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, wie Du vorgehen kannst:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel. (Drücke ALT + F11).

  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf einen der Einträge im Projekt-Explorer.
    • Wähle Einfügen > Modul.
  3. Schreibe den folgenden Code in das Modul:

    Sub StringKuerzen()
       Dim Ziffern As String
       Ziffern = Mid(Range("A5").Value, 4)
       Range("A6").Value = Ziffern
    End Sub
  4. Schließe den Editor und gehe zurück zu Excel.

  5. Führe das Makro StringKuerzen aus, um den String in Zelle A5 zu kürzen und das Ergebnis in Zelle A6 zu speichern.

Der Code verwendet die Mid-Funktion, um die ersten drei Buchstaben von einem String, der mit "NR-" beginnt, abzuschneiden und nur die Ziffern zu extrahieren.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Überprüfe, ob Du die richtige Zelle (A5) ansprichst. Stelle sicher, dass der String in Zelle A5 vorhanden ist, bevor Du das Makro ausführst.
  • Fehler: "Typen unverträglich"

    • Lösung: Stelle sicher, dass der Inhalt von Zelle A5 tatsächlich ein String ist. Wenn die Zelle leer ist, wird VBA versuchen, einen leeren Wert zu verarbeiten.

Alternative Methoden

Falls Du keine VBA-Programmierung verwenden möchtest, gibt es auch Excel-Formeln, die Dir helfen können, den String zu kürzen:

  1. Verwende die Formel:

    =RECHTS(A5; LÄNGE(A5)-3)

    Diese Formel schneidet die ersten drei Zeichen ab und gibt den Rest des Strings zurück.

  2. Eine weitere Möglichkeit ist die Kombination von TEIL und LÄNGE:

    =TEIL(A5; 4; LÄNGE(A5)-3)

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die Methoden anwenden kannst:

  • Beispiel 1: In Zelle A5 steht NR-12345. Mit dem VBA-Code wird 12345 in Zelle A6 ausgegeben.
  • Beispiel 2: Wenn Du die Formel =RECHTS(A5; LÄNGE(A5)-3) in Zelle B5 verwendest, wird auch dort 12345 angezeigt.

Tipps für Profis

  • Nutze die Trim-Funktion, um sicherzustellen, dass keine unerwünschten Leerzeichen im String sind, bevor Du ihn kürzt:

    Ziffern = Mid(Trim(Range("A5").Value), 4)
  • Wenn Du häufig Strings kürzen musst, erwäge, eine benutzerdefinierte Funktion zu erstellen, die Du in Deinen Excel-Formeln verwenden kannst.


FAQ: Häufige Fragen

1. Wie kann ich die Länge eines Strings in VBA ermitteln?
Du kannst die Len-Funktion verwenden:

Dim laenge As Integer
laenge = Len(Range("A5").Value)

2. Was, wenn der String eine andere Länge hat?
Die Mid-Funktion kann auch angepasst werden, um unterschiedliche Startpositionen und Längen zu berücksichtigen. Stelle sicher, den Startwert entsprechend zu ändern.

3. Ist es möglich, mehrere Strings gleichzeitig zu kürzen?
Ja, Du kannst eine Schleife verwenden, um durch mehrere Zellen zu iterieren und die Kürzung anzuwenden.

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