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

Forumthread: Zeichen aus Zeichenkette auslesen und üb

Zeichen aus Zeichenkette auslesen und üb
24.04.2020 09:56:30
Bernd
Hallo,
für den erstmaligen Betrieb meiner Tabelle will ich aus einer Quelltabelle gewisse Werte mit VBA auslesen und in meiner Tabelle übernehmen. VBA deshalb, da noch viele andere Funktionen mitlaufen und auch funktionieren.
Quelltabelle öffnen und ganze Inhalte von Zellen übernehmen klappt.
Probleme habe ich nun mit Teilstrings.
Ich bekomme es nicht hin, das VBA aus der Quellen-Zelle ab einem bestimmten gefundenen Suchstring nun xx Zeichen rechts daneben (ohne das obligatorische Leerzeichen nach dem Suchstring) einliest und in meiner Tabelle in der Zelle abspeichert.
Gruß
Bernd
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeichen aus Zeichenkette auslesen und üb
24.04.2020 10:01:46
Regina
hallo Bernd,
hier ein Beispiel. Gesamter Text steht in A2, nach dem ersten Auftreten von ; sollen 4 Zeichen ausgegeben werden:
Mid(Range("A1"),Instr(1,Range("A1"),";")+1,4)
Gruß Regina
AW: Zeichen aus Zeichenkette auslesen und üb
24.04.2020 10:03:53
Daniel
Hi
In VBA kannst du mit Instr die Position eines Zeichens im String ermittlen und mit Mid dann aus dem String den Teilstring ab dieser Position auslesen
Das entspricht den Excelfunktionen Finden und Teil.
Weitere Infos zu diesen Funktionen findest du in der Online Hilfe, die nur einen Tastendruck (F1) entfernt ist. (Cursor vorher auf die Funktion setzen, zu der man die Beschreibung haben will)
Gruß Daniel
Anzeige
VBA Teilstring aus Zeichenkette auslesen
24.04.2020 10:05:54
Beverly
Hi Bernd,
meinst du so etwas - ausgelesen werden 6 Zeichen nach dem Suchstring ASDF + Leerzeichen:
Sub Teilstring()
Dim strString As String
strString = "12345 ASDF XXXXXX123"
MsgBox Mid(strString, InStr(strString, "ASDF") + 5, 6)
End Sub


Anzeige
;

Forumthreads zu verwandten Themen

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 aus Zeichenkette auslesen und verarbeiten


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke Alt + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsm) und wähle Einfügen > Modul.

  3. Füge den Code ein: Nutze den folgenden VBA-Code, um Zeichen aus einer Zeichenkette auszulesen.

    Sub ZeichenAuslesen()
       Dim strString As String
       Dim suchString As String
       Dim anzahlZeichen As Integer
       Dim position As Integer
    
       strString = Range("A1").Value ' Lies den Text aus Zelle A1
       suchString = ";" ' Das Zeichen, ab dem du die Zeichen auslesen möchtest
       anzahlZeichen = 4 ' Anzahl der Zeichen, die du auslesen möchtest
    
       position = InStr(1, strString, suchString) ' Finde die Position des Suchstrings
       If position > 0 Then
           ' Zeilen auslesen und in Zelle B1 speichern
           Range("B1").Value = Mid(strString, position + 1, anzahlZeichen)
       Else
           MsgBox "Suchstring nicht gefunden."
       End If
    End Sub
  4. Führe das Makro aus: Kehre zu Excel zurück, drücke Alt + F8, wähle ZeichenAuslesen und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: Suchstring nicht gefunden
    Lösung: Stelle sicher, dass der Suchstring tatsächlich in der Zelle vorhanden ist. Überprüfe auch die Groß- und Kleinschreibung.

  • Fehler: Leere Zelle
    Lösung: Achte darauf, dass die Zelle, aus der du die Daten auslesen möchtest, nicht leer ist.


Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die Excel-Funktionen FINDEN und TEIL nutzen, um Zeichen aus einer Zelle auszulesen:

=TEIL(A1; FINDEN(";" ; A1) + 1; 4)

Diese Formel sucht das Zeichen ; in der Zelle A1 und gibt die nächsten 4 Zeichen zurück.


Praktische Beispiele

  1. Beispiel mit unterschiedlichen Zeichen
    Angenommen, in Zelle A1 steht Hallo;Welt;Dies ist ein Test. Um die Zeichen nach dem ersten ; auszulesen, nutze den folgenden VBA-Code:

    MsgBox Mid(Range("A1"), InStr(Range("A1"), ";") + 1, 4) ' Gibt "Welt" zurück.
  2. Mehrere Teilstrings
    Wenn du mehrere Teilstrings auslesen möchtest, kannst du eine Schleife verwenden:

    Sub MehrereTeilstrings()
       Dim strString As String
       Dim i As Integer
       strString = Range("A1").Value
       For i = 1 To 5 ' Beispiel für 5 Suchstrings
           MsgBox Mid(strString, InStr(strString, ";") + i * 5, 4)
       Next i
    End Sub

Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Überlege, wie du die vba string bis zeichen auslesen Methode kombinieren kannst, um flexibler zu sein.
  • Experimentiere mit der vba mid von rechts Methode, um Zeichen von der anderen Seite der Zeichenkette auszulesen.

FAQ: Häufige Fragen

1. Wie kann ich Zeichen aus einer Zelle ab einem bestimmten Zeichen auslesen?
Verwende die InStr-Funktion, um die Position des Zeichens zu finden, und Mid, um die Zeichen auszulesen.

2. Funktioniert das auch in Excel Online?
Leider sind VBA-Makros in Excel Online nicht verfügbar. Du kannst jedoch die Excel-Funktionen wie TEIL verwenden, um ähnliche Ergebnisse zu erzielen.

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