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

Forumthread: Buchstaben recht von Zeichen ausgeben mit VBA

Buchstaben recht von Zeichen ausgeben mit VBA
03.08.2016 14:04:27
Zeichen
Hallo zusammen!
Ich hab folgendes Problem vorliegen.
Ich habe so etwas in einer Zelle stehen: xxx_abcdef
Ich würde gern in einen anderen Zelle nur abcdef ausgeben wollen.
An welcher Stelle dieses Zeichen "_" auftaucht ist immer unterschiedlich, genauso die Länge der Teilstrings vor und nach diesem Unterstrich.
Ich habe bisher folgendes Beispiel dazu gefunden:

dim Text as string
Text="hallo,tschüss,blubb,bla"
Ergebnis = vba.Left(Text,vba.InStr(1,Text,",")-1)
Ich muss das nur mit vba.rechts machen. Das scheint aber nicht so einfach zu sein:
Wenn ich anstelle von left right einsetzte, dann schneidet VBA das rechte Wort durch.
Weiß jemand von euch Rat?
Viele Grüße, ViGo
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Buchstaben recht von Zeichen ausgeben mit VBA
03.08.2016 14:10:47
Zeichen
Hi,
versuche es so (ungetestet)
Mid(Text, Instr(Text, "_") + 1)


mit mid
03.08.2016 14:12:16
Michael
Hi ViGo,
nimm
Ergebnis = Mid(Text, InStr(Text, ",") + 1)
Schöne Grüße,
Michael
AW: mit mid
03.08.2016 14:20:50
ViGo
Hallo Beverly, hallo Michael!
Super, danke für eure Hilfe! Das war die Lösung für mein Problem! :)
Viele Grüße, ViGo
Anzeige
;

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

Zeichen rechts von einem bestimmten Zeichen in Excel VBA ausgeben


Schritt-für-Schritt-Anleitung

Um in Excel VBA den Text rechts von einem bestimmten Zeichen auszugeben, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Rechtsklicke im Projektfenster auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.
  3. Schreibe den VBA-Code:

    • Füge den folgenden Code in das Modul ein:
    Sub TextRechtsVonZeichen()
       Dim Text As String
       Dim Ergebnis As String
       Dim Position As Integer
    
       Text = "xxx_abcdef"
       Position = InStr(Text, "_") ' Suche nach dem Unterstrich
    
       If Position > 0 Then
           Ergebnis = Mid(Text, Position + 1) ' Ausgabe des Textes rechts vom Zeichen
           MsgBox Ergebnis ' Ergebnis anzeigen
       Else
           MsgBox "Zeichen nicht gefunden."
       End If
    End Sub
  4. Führe das Makro aus:

    • Drücke F5 im VBA-Editor, um das Makro auszuführen und das Ergebnis anzuzeigen.

Häufige Fehler und Lösungen

  • Fehler: "Zeichen nicht gefunden."

    • Überprüfe, ob das Zeichen, nach dem Du suchst (z.B. _), tatsächlich im Text vorhanden ist. Andernfalls wird der Text nicht korrekt ausgegeben.
  • Problem: Falsches Ergebnis

    • Stelle sicher, dass Du die Funktion Mid() mit dem korrekten Startwert verwendest. Der Startwert sollte immer um 1 erhöht werden, um das gesuchte Zeichen zu überspringen.

Alternative Methoden

Falls Du eine andere Methode zur Textverarbeitung in Excel VBA ausprobieren möchtest, kannst Du folgendes tun:

  • Verwendung von Right():

    Ergebnis = Right(Text, Len(Text) - Position)

    Diese Methode schneidet den Text von der Position des gesuchten Zeichens bis zum Ende des Strings ab.

  • Zugriff auf Excel-Zellen: Du kannst auch auf Text in bestimmten Zellen zugreifen, indem Du Cells(row, column).Value verwendest, um den Text aus einer Zelle zu lesen.


Praktische Beispiele

  1. Beispiel 1: Wenn der Text in Zelle A1 steht:

    Text = Cells(1, 1).Value
  2. Beispiel 2: Text nach Komma ausgeben:

    Position = InStr(Text, ",")
    Ergebnis = Mid(Text, Position + 1)
  3. Beispiel 3: Alle Zeichen rechts vom Unterstrich in einer Zelle ausgeben:

    Cells(2, 1).Value = Ergebnis

Tipps für Profis

  • Finde Zeichen in Strings: Verwende InStr() für die Suche nach Zeichen in einem String. Dies ist besonders nützlich, wenn Du mehrere Zeichen oder Satzzeichen in einem Text finden möchtest.

  • Dynamische Strings: Wenn Du mit dynamischen Strings arbeitest, die sich häufig ändern, stelle sicher, dass Dein Code flexibel und anpassungsfähig ist.

  • Fehlerbehandlung: Implementiere einfache Fehlerbehandlungsroutinen, um unerwartete Fehler abzufangen und die Benutzererfahrung zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich den Text nach einem anderen Zeichen als "_" ausgeben?
Ändere einfach die Zeile Position = InStr(Text, "_") zu Position = InStr(Text, "DEIN_ZEICHEN"), um das gewünschte Zeichen zu suchen.

2. Kann ich diesen Code für Access verwenden?
Ja, der Code kann leicht für Access VBA angepasst werden. Verwende die gleichen Funktionen wie Mid() und InStr().

3. Was ist, wenn das Zeichen mehrmals im Text vorkommt?
Du kannst InStrRev() verwenden, um die letzte Position des Zeichens zu finden, oder eine Schleife implementieren, wenn Du alle Vorkommen behandeln möchtest.

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