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

Forumthread: 5 Zeichen von rechts auslesen

5 Zeichen von rechts auslesen
29.10.2007 11:55:00
rechts
Hallo, komme im Moment mit folgendem Problem nicht weiter.
Ich möchte prüfen, ob das 5. Zeichen von rechts ein Leerzeichen ist, falls ja, dieses löschen.
Das ganze in VBA.
Die Stringfolge in den zu prüfenden Zellen sind unterschiedlich lang. Muss also von rechts suchen.
Hat jemand einen Tipp?
hartmut

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
If mid(strVar,len(strVar)-4,1)=" " then....
29.10.2007 11:58:49
NoNet
Hallo Hartmut,
hier 2 Lösungsvorschläge :
If mid(strVar,len(strVar)-4,1)=" " then.... 'funktioniert mit allen VBA-Versionen (ab Excel 95)
oder :
If mid(strreverse(strVar),5,1)=" " then.... 'ab Excel 2000
Gruß, NoNet

AW: 5 Zeichen von rechts auslesen
29.10.2007 12:01:57
rechts
Hallo Hartmut,
oder so:
If Left(Right(str, 5), 1) = " " Then ...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: 5 Zeichen von rechts auslesen
29.10.2007 12:02:00
rechts
Hallo Hartmut,
Zeichenfolge = "DeinString"
RechterTeil=right(Zeichenfolge,5)
if instr(1,RechterTeil," ") =1 then
Zeichenfolge=left(Zeichenfolge,len(Zeichenfolge)-5) & right(RechterTeil,4)
end if
Gruß
Harry

AW: 5 Zeichen von rechts auslesen
29.10.2007 12:06:00
rechts
Hallo, erst einmal vielen Dank für die schnelle Hilfe.
Werde das jetzt ausprobieren und gebe dann Rückmeldung.
Hartmut

Anzeige
AW: 5 Zeichen von rechts auslesen
29.10.2007 12:32:00
rechts
Hallo, habe jetzt folgenden Weg genommen:

Sub leer_vor_mp3_weg()
Dim rng As Range
For Each rng In Sheets(1).Range("B1:B2000")
If Left(Right(rng, 5), 1) = " " Then
rng = Left(rng, Len(rng) - 5) & Right(rng, 4)
End If
Next
End Sub


Nochmals vielen Dank für eure Anregungen.
Hartmut

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

5 Zeichen von rechts auslesen in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues VBA-Modul:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  2. Füge den folgenden Code ein, um die letzten 5 Zeichen einer Zelle zu überprüfen und gegebenenfalls zu bearbeiten:

    Sub leer_vor_mp3_weg()
       Dim rng As Range
       For Each rng In Sheets(1).Range("B1:B2000")
           If Left(Right(rng, 5), 1) = " " Then
               rng = Left(rng, Len(rng) - 5) & Right(rng, 4)
           End If
       Next
    End Sub
  3. Anpassen des Bereichs: Du kannst Sheets(1).Range("B1:B2000") anpassen, um den gewünschten Zellbereich zu definieren.

  4. Starte das Makro:

    • Gehe zurück zu Excel (ALT + Q).
    • Drücke ALT + F8, wähle das Makro leer_vor_mp3_weg aus und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt"
    Lösung: Stelle sicher, dass der Zellbereich nur Textwerte enthält.

  • Fehler: "Ausnahmefehler"
    Lösung: Überprüfe, ob der Zellbereich tatsächlich Zellen mit Text enthält.

  • Code funktioniert nicht
    Stelle sicher, dass Du den Code in ein Modul eingefügt hast und das Makro richtig ausführst.


Alternative Methoden

  • VBA Mid-Funktion: Du kannst die Mid-Funktion verwenden, um spezifische Zeichen von rechts auszulesen.

    If Mid(strVar, Len(strVar) - 4, 1) = " " Then
      ' Weiterverarbeitung
    End If
  • Excel-Formel: Für einfache Anwendungen kannst Du auch folgende Excel-Formel verwenden, um die letzten 5 Zeichen zu extrahieren:

    =RECHTS(A1, 5)

Praktische Beispiele

  1. Beispiel 1: Leerzeichen entfernen
    Angenommen, in Zelle B1 steht "Test ". Nach Ausführung des Makros wird der Inhalt zu "Test".

  2. Beispiel 2: Zeichen bis zu einem bestimmten Zeichen auslesen
    Du kannst InStr verwenden, um ein bestimmtes Zeichen zu finden und den String bis dorthin auszulesen:

    Dim pos As Integer
    pos = InStrRev(strVar, "-")
    If pos > 0 Then
       ' Zeichenfolge bis zum Bindestrich auslesen
       Dim result As String
       result = Left(strVar, pos - 1)
    End If

Tipps für Profis

  • Verwendung von InStrRev: Diese Funktion ist nützlich, um Zeichen von rechts zu suchen.

    pos = InStrRev(strVar, " ")
  • Kombination von Funktionen: Du kannst Right, Left und Mid kombinieren, um komplexere Anforderungen zu erfüllen.

  • Effizienz: Arbeite mit Arrays, wenn Du große Datenmengen bearbeitest, um die Leistung zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehr als 5 Zeichen zu bearbeiten?
Du kannst die Zahl 5 in den Funktionen Right oder Left anpassen, um die gewünschte Anzahl von Zeichen zu bearbeiten.

2. Welche Excel-Versionen unterstützen diesen VBA-Code?
Der Code funktioniert in allen Versionen ab Excel 95. Achte jedoch darauf, dass einige Funktionen, wie StrReverse, erst ab Excel 2000 verfügbar sind.

3. Kann ich den Code für andere Bereiche verwenden?
Ja, ändere einfach den Zellbereich in Sheets(1).Range("B1:B2000") nach Deinen Bedürfnissen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige