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

Forumthread: String auf Buchstaben prüfen?

String auf Buchstaben prüfen?
04.08.2008 16:49:10
Tom
Hallo,
ich habe ein kleines Problem.
Ich soll Serienummern überprüfen über 2 Dateien und wenn ich eine Übereinstimmung finde, schreib ich was in eine Zelle.
Ok nun hab ich das Problem:
Die Nummer lese ich als String eine 0 123 456 789
mit

str2 = Replace(str2, " ", "")  

wird er zur 0123456789
Läuft alels super.
Nur wenn jetzt ein Buchstaben in der Zelle steckt sucht er natürlich alles nach dem Nummer mit Buchstaben ab. Ist aber klar das es die nicht gibt. Somit brauch ich eine Möglichkeit, einen String wie 0123ABd1231 aus dem Raster zu sortieren. Die Seriennummern sind Aufgrund der führenden Null nicht als Zahlen definiert, an den Ausgangsdaten kann ich leider nichts ändern.
Also noch mal:
String >> 1234567890 > Ok
String >> 123456tz89 > nicht OK >> aussortieren
Hoff das Problem wird klar und mir kann jemand helfen.
mfg Tom

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String auf Buchstaben prüfen?
04.08.2008 16:55:00
gerd
Hi,
wenn Buchstaben im String sind, ist er nicht numerisch, das kannst du abfragen.
mfg Gerd

AW: String auf Buchstaben prüfen?
04.08.2008 16:57:00
Andi
Hi,
verwende die Funktion IsNumeric, die funktioniert auch bei Strings.
Schönen Gruß,
Andi

AW: String auf Buchstaben prüfen?
04.08.2008 16:57:48
Matthias
Hallo
Ich habe mal die beiden String's in C6 & C7 geschrieben(vother als Text formatiert)
Option Explicit

Sub zahl_C6()
If IsNumeric([C6]) Then MsgBox "Zahl": Exit Sub
If Not IsNumeric([C6]) Then MsgBox "keine Zahl"
End Sub



Sub zahl_C7()
If IsNumeric([C7]) Then MsgBox "Zahl": Exit Sub
If Not IsNumeric([C7]) Then MsgBox "keine Zahl"
End Sub


Hift Dir das ?
Gruß Matthias

Anzeige
AW: String auf Buchstaben prüfen?
04.08.2008 16:57:59
Daniel
Hi
du kannst mit der funktion:
if IsNumeric(str2) then
prüfen, ob der Inhalt eines Strings eine Zahl darstellt oder nicht.
die Leerzeichen müssen natürlich vorher entfernt werden.
Gruß, Daniel
;
Anzeige
Anzeige

Infobox / Tutorial

Strings auf Buchstaben prüfen in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA zu prüfen, ob ein String Buchstaben enthält, kannst du die Funktion IsNumeric verwenden. Diese Funktion überprüft, ob der Inhalt eines Strings eine Zahl darstellt. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Erstelle ein neues Modul (Rechtsklick im Projektfenster > Einfügen > Modul).

  3. Füge den folgenden Code ein:

    Sub PrüfenObStringBuchstabenEnthält()
       Dim str2 As String
       str2 = "0123ABd1231" ' Beispielstring
    
       ' Entferne Leerzeichen
       str2 = Replace(str2, " ", "")
    
       ' Prüfen, ob der String eine Zahl ist
       If Not IsNumeric(str2) Then
           MsgBox "Der String enthält Buchstaben."
       Else
           MsgBox "Der String ist numerisch."
       End If
    End Sub
  4. Ändere den Beispielstring (str2) nach Bedarf.

  5. Führe das Makro aus, um die Überprüfung durchzuführen.


Häufige Fehler und Lösungen

  • Fehler: Typenübereinstimmung beim Ausführen des Codes.

    • Lösung: Stelle sicher, dass der String, den du prüfst, korrekt initialisiert ist und keine unerwarteten Typen enthält.
  • Fehler: Das Ergebnis zeigt immer "Der String ist numerisch", obwohl er Buchstaben enthält.

    • Lösung: Überprüfe, ob Leerzeichen entfernt wurden, bevor du IsNumeric aufrufst.

Alternative Methoden

Es gibt auch andere Möglichkeiten, um zu überprüfen, ob ein String Buchstaben enthält. Eine davon ist die Verwendung von regulären Ausdrücken (Regex). Hier ist ein Beispiel:

Function EnthältBuchstaben(ByVal str As String) As Boolean
    Dim regEx As Object
    Set regEx = CreateObject("VBScript.RegExp")
    regEx.Pattern = "[A-Za-z]"
    regEx.Global = True
    EnthältBuchstaben = regEx.Test(str)
End Function

Du kannst diese Funktion in deinem Hauptcode verwenden, um zu prüfen, ob der String Buchstaben enthält.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Funktion IsNumeric verwenden kannst:

  1. Überprüfung in einer Zelle:

    Sub PrüfenZelle()
       Dim zelle As Range
       Set zelle = ThisWorkbook.Sheets("Tabelle1").Range("A1")
    
       If Not IsNumeric(zelle.Value) Then
           MsgBox "Die Zelle enthält Buchstaben."
       Else
           MsgBox "Die Zelle ist numerisch."
       End If
    End Sub
  2. Überprüfung einer Liste von Strings:

    Sub PrüfenListe()
       Dim i As Integer
       For i = 1 To 10
           If Not IsNumeric(Cells(i, 1).Value) Then
               MsgBox "Die Zelle A" & i & " enthält Buchstaben."
           End If
       Next i
    End Sub

Tipps für Profis

  • Verwende Trim, um führende und nachfolgende Leerzeichen zu entfernen, bevor du IsNumeric aufrufst.
  • Kombiniere IsNumeric mit Fehlerbehandlung, um sicherzustellen, dass dein Code auch bei unerwarteten Eingaben stabil bleibt.
  • Nutze benutzerdefinierte Funktionen, um die Lesbarkeit deines Codes zu erhöhen und die Wiederverwendbarkeit zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob ein String nur numerische Zeichen enthält?
Du kannst die Funktion IsNumeric verwenden, um sicherzustellen, dass der String nur Zahlen enthält.

2. Was ist der Unterschied zwischen IsNumeric und regulären Ausdrücken?
IsNumeric ist einfacher und schneller für grundlegende Überprüfungen, während reguläre Ausdrücke flexibler sind und komplexere Muster erkennen können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige