Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: String abschneiden (Mitte)

String abschneiden (Mitte)
19.10.2015 09:40:13
Larissa
Hallo liebe Community,
ich habe folgendes "Problem":
Ich möchte von einem String ab einem bestimmten "Pattern" links und rechts etwas abschneiden.
So sieht der String zu Beginn aus:
10 6006000000029 Art.Nr.: 21-XX-XXX 10,00
Ich möchte nur folgenden String als Ausgabe haben: 21-XX-XXX
Die Artikelnummern haben folgendes Pattern ###-###-### wobei es jeweils ein, zwei, drei oder vier Zeichen sein können.
Text = Selection.Value
Ergebnis = VBA.Right(Text, VBA.InStr(1, Text, ":") - 9)
Das ist mein Ansatz bisher, aber das ist noch zu statisch.
Über Anregungen/Ideen/Vorschläge würde ich mich sehr freuen.

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String abschneiden (Mitte)
19.10.2015 09:45:17
ChrisL
Hi Larissa
Sub t()
Dim str As String
str = "10 6006000000029 Art.Nr.: 21-XX-XXX 10,00"
str = Right(str, Len(str) - InStr(1, str, ":") - 1)
str = Left(str, InStr(1, str, " ") - 1)
MsgBox str
End Sub

(könnte man auch noch weiter "verschachteln")
cu
Chris

Anzeige
AW: String abschneiden (Mitte)
19.10.2015 09:53:28
Larissa
Vielen Dank! Das habe ich gesucht!

Da du ohnehin VBA verwenden willst, ...
19.10.2015 16:10:45
Luc:-?
…Larissa,
könntest du auch 2 UDFs in einer ZellFml einsetzen:
=VSplit(Splint(A1;"Art.Nr.: ";2))
Beide liegen im Herber-ForumsArchiv vor. RECHERCHE bemühen!
Gruß, Luc :-?
Besser informiert mit …
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

String in Excel ab einem bestimmten Pattern abschneiden


Schritt-für-Schritt-Anleitung

Um einen String in Excel ab einem bestimmten Pattern abzuschneiden, kannst Du die folgenden Schritte befolgen. In diesem Beispiel verwenden wir VBA, um den Prozess zu automatisieren.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden VBA-Code ein:

    Sub StringAbschneiden()
       Dim Text As String
       Dim Ergebnis As String
    
       Text = Selection.Value
       Ergebnis = VBA.Right(Text, VBA.InStr(1, Text, ":") - 9)
       MsgBox Ergebnis
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Dokument.

  5. Wähle die Zelle mit dem String aus und führe das Makro StringAbschneiden aus.

Diese Methode verwendet die VBA.Right-Funktion, um den gewünschten Teil des Strings zu extrahieren.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Anwendung oder Objektdefinierter Fehler."

    • Lösung: Stelle sicher, dass die Zelle, aus der der String abgerufen wird, tatsächlich einen Wert enthält.
  • Fehler: Der zurückgegebene Wert ist nicht korrekt.

    • Lösung: Überprüfe die Position des ":" in deinem String. Möglicherweise musst Du die Berechnung in der InStr-Funktion anpassen.

Alternative Methoden

Falls Du keine VBA-Lösungen verwenden möchtest, kannst Du auch Excel-Formeln nutzen, um einen String abzuschneiden. Eine Möglichkeit ist die Kombination von RECHTS, LINKS und SUCHEN:

=LINKS(RECHTS(A1;LÄNGE(A1)-SUCHEN(":";A1)-1);SUCHEN(" ";RECHTS(A1;LÄNGE(A1)-SUCHEN(":";A1)-1))-1)

Diese Formel sucht nach dem ":" und schneidet alles links und rechts davon ab.


Praktische Beispiele

Angenommen, Du hast den folgenden String in Zelle A1:

10 6006000000029 Art.Nr.: 21-XX-XXX 10,00

Verwende in Zelle B1 die oben genannte Formel, um die Artikelnummer 21-XX-XXX zu extrahieren.


Tipps für Profis

  • Nutze benutzerdefinierte Funktionen (UDFs) in Excel, um den Prozess zu vereinfachen. Du kannst die Funktion VSplit verwenden, um komplexe String-Operationen durchzuführen.
  • Halte Deine VBA-Codes modular, um sie leichter warten und anpassen zu können.
  • Experimentiere mit den verschiedenen VBA-Funktionen wie VBA.Left oder VBA.Mid, um unterschiedliche Teile des Strings zu extrahieren.

FAQ: Häufige Fragen

1. Wie kann ich die Länge des abgeschnittenen Strings bestimmen? Du kannst die LÄNGE-Funktion in Excel verwenden, um die Anzahl der Zeichen in einem String zu ermitteln, bevor Du ihn abschneidest.

2. Ist es möglich, mehrere Patterns zu berücksichtigen? Ja, Du kannst die SUCHEN-Funktion in Kombination mit WENN verwenden, um verschiedene Patterns zu erkennen und entsprechend zu verarbeiten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige