Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: String mit Buchstaben und Zahlen

String mit Buchstaben und Zahlen
15.02.2018 10:04:45
kultnoob
Hallo zusammen,
sitze hier vor einem Problem und bin gerade zu blind eine Lösung zu finden.
Deshalb hoffe ich, dass mir bitte jemand helfen kann.
Betrachtet werden drei Möglichkeiten
Besteht eine Zelle nur aus Zahlen
If IsNumeric(...
Besteht eine Zelle aus Zahlen und Buchstaben
da komme ich nicht weiter
Besteht eine Zelle nur aus Buchstaben
If not IsNumeric(...
Mein Ziel ist es, dass ich aus zwei verschiedenen Zellen von zwei Spalten einen Dateinamen bilden möchte.
Lieferantennummer und Lieferantenname. Beide Spalten enthalten die gleichen Spaltenbezeichnungen für Lieferantennummer und Lieferantenname.
Die Lieferantennummer kann nur aus Zahlen bestehen kann aber auch aus Zahlen und mind. 1 Buchstaben bestehen.
Wenn ich nun mit InStr arbeite, kann ich zwar die Lieferantennummer einer Variable übergeben und auch den Lieferantenname aber sobald bei der Lieferantennummer bei den Zahlen ein Buchstabe dabei ist, hört es schon wieder auf und der Name kann der Variable nicht übergeben werden.
Hoffe ich konnte mein Problem erklären.
Zusammengefasst:
Wie kann ich prüfen, ob eine Zelle Zahlen UND Buchstaben hat?
Vielen Dank an jegliche Hilfe.
Grüße
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachfrage
15.02.2018 10:10:14
{Boris}
Hi,
...aber sobald bei der Lieferantennummer bei den Zahlen ein Buchstabe dabei ist, hört es schon wieder auf und der Name kann der Variable nicht übergeben werden.
Weshalb denn nicht?
VG, Boris
AW: Nachfrage
15.02.2018 10:17:45
kultnoob
Hi Boris,
Zuerst suche ich das Feld in Zeile 1 mit dem Namen Lieferant (es gibt zwei Spalten mit der Bezeichnung Lieferant).
Dies kann sich je nach Layout an irgendeiner Stelle in Zeile 1 befinden.
Darunter (Zeile 2) verbirgt sich entweder die Lieferantennummer ODER der Lieferantenname.
Mein Gedankengang ist...
Schau nach ob dies nur aus Zahlen besteht. Übergib in der Spalte den Wert der zweiten Zeile der Variable a.
Dann suche weiter in der Schleife nach der nächsten Spalte in Zeile 1 nach Lieferant. Prüfe, ob dies NICHT aus Zahlen besteht und übergib den Wert der zweiten Zeile der Variable b.
Wenn ich aber eine Lieferantennummer habe, in der auch ein Buchstabe enthalten ist, dann bleibt die Variable a leer bzw. 0.
Somit fehlt mir ja was.
Wenn ich es genau betrachte, benötige ich dann nur einen Befehl der sagt, kuck nach, ob Zahlen und Buchstaben enthalten sind.
Oder stehe ich gerade voll auf dem Schlauch?
Grüße
Anzeige
AW: Nachfrage
15.02.2018 11:16:23
UweD
Hallo
reicht das nicht?
Sub lieferant()
    Dim Arr, z
    Arr = Array("12234", "123A34")
    
    For Each z In Arr
        
        
        If IsNumeric(z) Then
            MsgBox z & " ist Nummer"
        Else
            MsgBox z & " ist Text"
        End If
    
    
    
    
    Next
End Sub

LG UweD
Anzeige
AW: Nachfrage
15.02.2018 11:44:28
kultnoob
Hi Uwe,
danke für das Beispiel.
Aber wenn ich das richtig verstehe, müsste ich im Array alle Lieferantennummern angeben damit diese alle geprüft werden.
Und da ich viel zu kompliziert denke, habe ich nun eine einfache Lösung gefunden.
Die erste FOR-Schleife For a = 1 to bis zur letzten Spalte
Suche in Zeile 1 solange, bis Du den Zellenwert "Lieferant" findest. Weise der Variable 1 den Zellenwert der zweiten Zeile zu und exitfor
Die zweite FOR-Schleife for b = a + 1 to bis zum ende
Übergib den Wert der Variable a + 1 der Variable b und suche nach der nächsten Spalte mit dem Zellenwert "Lieferant".
Übergib den Zellenwert der zweiten Zeile der Variable 2 und Exitfor
Mir ist es egal ob zuerst der Lieferantenname und danach Lieferantennummer kommt oder umgekehrt.
Trotzdem vielen Dank für die Hilfe.
Grüße
Anzeige
AW: Nachfrage
15.02.2018 11:49:22
UweD
Das mit dem array war doch nur um die 2 unterschiedlichen Beispiele zu zeigen.
Für dich relevant ist doch nur.

If IsNumeric("Deine Zelle") Then
Else
End If

LG UweD
Das ist aber keine Antwort...
15.02.2018 13:00:11
{Boris}
Hi,
...auf meine Frage: Weshalb kann der Name nicht an die Variable übergeben werden?
Eine Variable des Typs "Variant" beispielsweise kann alle Datentypen aufnehmen - daher verstehe ich Dein Problem nicht.
VG, Boris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

String mit Buchstaben und Zahlen in Excel bearbeiten


Schritt-für-Schritt-Anleitung

Um eine Zelle zu überprüfen, ob sie sowohl Zahlen als auch Buchstaben enthält, kannst Du folgende Schritte in Excel VBA umsetzen:

  1. Öffne den VBA-Editor: Drücke ALT + F11.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsm)“ > Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub lieferant()
       Dim Arr As Variant
       Dim z As Variant
       Dim hasLetters As Boolean
       Dim hasNumbers As Boolean
    
       Arr = Array("12234", "123A34", "ABC")
    
       For Each z In Arr
           hasLetters = Not IsNumeric(z)
           hasNumbers = Len(z) > Len(Replace(z, "0", "")) + Len(Replace(z, "1", "")) + Len(Replace(z, "2", "")) + _
                        Len(Replace(z, "3", "")) + Len(Replace(z, "4", "")) + Len(Replace(z, "5", "")) + _
                        Len(Replace(z, "6", "")) + Len(Replace(z, "7", "")) + Len(Replace(z, "8", "")) + _
                        Len(Replace(z, "9", ""))
    
           If hasLetters And hasNumbers Then
               MsgBox z & " enthält sowohl Buchstaben als auch Zahlen."
           ElseIf hasNumbers Then
               MsgBox z & " besteht nur aus Zahlen."
           Else
               MsgBox z & " besteht nur aus Buchstaben."
           End If
       Next z
    End Sub
  4. Führe das Skript aus: Drücke F5 im VBA-Editor.

Dieses Skript überprüft, ob die Strings sowohl Buchstaben als auch Zahlen enthalten und gibt entsprechende Meldungen aus.


Häufige Fehler und Lösungen

  • Fehler: „Typen-Mismatch“ beim Ausführen des Codes.

    • Lösung: Stelle sicher, dass alle Variablen korrekt deklariert sind und die Eingabewerte im Array vom gleichen Datentyp sind.
  • Fehler: Die Ergebnisse sind nicht wie erwartet.

    • Lösung: Überprüfe die Logik für das Erkennen von Buchstaben und Zahlen. Stelle sicher, dass die If-Bedingungen korrekt formuliert sind.

Alternative Methoden

Eine andere Methode, um Buchstaben und Zahlen zu unterscheiden, ist die Verwendung von Excel-Formeln:

  • Benutze die Formel: =ISTTEXT(A1) für Texte und =ISTZAHL(A1) für Zahlen.
  • Kombiniere die Ergebnisse in einer WENN-Formel:

    =WENN(ISTTEXT(A1); "Text"; WENN(ISTZAHL(A1); "Zahl"; "Beides"))

Diese Formel gibt „Text“, „Zahl“ oder „Beides“ zurück, je nachdem, was in der Zelle steht.


Praktische Beispiele

  1. Lieferantennummer prüfen: Verwende die oben genannten Methoden, um zu überprüfen, ob die Lieferantennummer valide ist (nur Zahlen oder eine Kombination aus Zahlen und Buchstaben).
  2. Namen in Zahlen umwandeln: Wenn Du Buchstaben in Zahlen umwandeln möchtest, kannst Du die ASCII-Werte der Buchstaben verwenden. Zum Beispiel: =CODE("A") gibt 65 zurück.

Tipps für Profis

  • Buchstabenwerte in Zahlen umwandeln: Nutze eine Funktion, die die ASCII-Codes von Buchstaben zurückgibt, um Buchstaben in Zahlen umwandeln zu können.
  • Zahlen, die wie Buchstaben aussehen: Achte darauf, dass Du die Datenformate in Excel richtig setzt, um Missverständnisse zu vermeiden.

FAQ: Häufige Fragen

1. Frage
Wie kann ich prüfen, ob ein String Buchstaben enthält?
Antwort: Du kannst die IsNumeric-Funktion nutzen, um zu überprüfen, ob der Inhalt nur aus Zahlen besteht. Wenn nicht, enthält er Buchstaben.

2. Frage
Kann ich Zahlen in Buchstaben umwandeln?
Antwort: Ja, Du kannst die CHAR-Funktion verwenden, um die entsprechenden Buchstaben anhand ihrer ASCII-Werte zu erhalten.

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