Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - nur zahlen zulassen

VBA - nur zahlen zulassen
steffen
Hallo in die Runde,
ich möchte per VBA prüfen lassen, ob in den Zellen ausschließliche zahlen drin sind.
Bsp:
012876
0049987272727
9876236262
Sobald aber ein Buchstabe oder Sonderzeichen drin ist, muss das erkannt werden (einfärben).
Ich habe es so versucht, doch das wird mir viel zu unübersichtlich, da ich ja jedes Zeichen außer den Zahlen einschließen müsste:
If InStr(Zelle, "*") > 0 Then Zelle.Interior.ColorIndex = 13"
Ihr habt sicherlich eine Idee.
Gruß Steffen
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA - nur zahlen zulassen
13.08.2009 08:57:13
Hajo_Zi
Hallo Steffen,
mache es doch ohne VBA mit bedingter Formatierung IstZahl()

und Daten Gültigkeit ?
13.08.2009 08:57:46
Matthias
Hallo
oder If Not Isnumeric() then ...
Gruß Matthias
AW: VBA - nur zahlen zulassen
13.08.2009 09:09:06
gerwas
Hallo
Nehmen wir mal an deine Zellen sind in Zeile 1 bis 5 in Spalte 1 belegt
dann könnte folgendes funktionieren
Gruß Gerwas
Sub keine_zahlen_markieren()
For k = 1 To 5
If Not IsNumeric(Cells(k, 1)) Then
For s = 1 To Len(Cells(k, 1).Value)
If Not IsNumeric(Mid(Cells(k, 1), s, 1)) Then
Cells(k, 1).Characters(Start:=s, Length:=1).Font.ColorIndex = 3
End If
Next
End If
Next
End Sub

Anzeige
AW: VBA - nur zahlen zulassen
13.08.2009 09:27:14
Tino
Hallo,
meinst Du sowas?
Den Wirgungsbereich habe ich auf A1:D30 eingeschränkt.
Einfach mal was in die Zellen eintragen.
https://www.herber.de/bbs/user/63799.xls
Gruß Tino
Da war noch ein Fehler
13.08.2009 10:01:26
Tino
Hallo,
hier die Version die funktioniert.
https://www.herber.de/bbs/user/63800.xls
Gruß Tino
Anzeige
@Tino: Kleiner Gag
13.08.2009 11:10:39
Erich
Hi Tino,
formatier doch mal eine Zelle des Bereichs als Text und schreib 123,456 rein. Dann schämt sich das Komma.
Schreibst du 123,456 in eine Standard-Zelle, schämt sich nix.
Characters.Font... geht nur für Texte.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: @Erich
13.08.2009 11:41:16
Tino
Hallo,
stimmt dies ist wieder so eine verzwickte Sache.
Habe mal noch eine Prüfung eingebaut ob der Wert eine Zahl ist.
Eventuell müsste man mit dem Punkt noch etwas machen, weil dies auch als Zahl interprediert wird.
Aber da kommt es nun darauf an ob auch ein Datum in die Zelle geschrieben werden kann.
https://www.herber.de/bbs/user/63803.xls
Gruß Tino
Anzeige
Fragestellung genauer?
13.08.2009 09:38:29
Erich
Hi Steffen,
was genau meinst du mit "Zahlen"?
Dürfen in den Zellen nur die Ziffern 0 bis 9 vorkommen?
Oder sind z. B. auch 1,234 und -5 und +4711 zulässig?
Wenn in einer Zelle die Formel ="4"&"5" steht, ist der Wert ein Text. (ISTZAHL() ist FALSCH.)
Aber dieser Wert kann leicht in eine Zahl 45 umgewandelt werden.
Soll so ein Wert zulässig sein oder nicht?
Was soll bei Unzulässigkeit eingefärbt werden? Die ganze Zelle (Hintergrund?)
oder nur die unzulässigen Zeichen?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
also ich profitiere immer daraus :)
13.08.2009 12:39:58
Matthias
Hallo Erich
also bei dieser Zeile
If ............. Then Zelle.Interior.ColorIndex = 13"
hätte ich getippt er meint den Zellhintergrund.
Warten wirs also mal ab ob/bis Steffen sich meldet.
Das mit dem 1,234 ist ne interesante Nachfrage
Ich bin immer ganz "froh" über Unklarheiten ;o)
Da kommen dann oft Vorschläge, die für mich sehr interessant sind
und aus denen ich (für mich als Selbststudium) immer neues Übungpotential schöpfe.
Ich gebe Dir natürlich ($Recht) das die Fragestellung zu ungenau ist.
An dieser Stelle also auch mal ein Dankeschön an alle für die unermüdliche Arbeit und Eure Vorschläge.
Ein Danke auch an Hans W. Herber, der uns diese Plattform zur Verfügung stellt.
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Nur Zahlen in Excel-Zellen zulassen


Schritt-für-Schritt-Anleitung

Um in Excel nur Zahlen in bestimmten Zellen zuzulassen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um dies zu erreichen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeinDateiname)“ und wähle „Einfügen“ > „Modul“.

  3. Kopiere den folgenden Code in das Modul:

    Sub keine_zahlen_markieren()
       For k = 1 To 5
           If Not IsNumeric(Cells(k, 1)) Then
               For s = 1 To Len(Cells(k, 1).Value)
                   If Not IsNumeric(Mid(Cells(k, 1), s, 1)) Then
                       Cells(k, 1).Characters(Start:=s, Length:=1).Font.ColorIndex = 3
                   End If
               Next
           End If
       Next
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, um die Zellen zu prüfen. Verwende ALT + F8, wähle das Makro „keine_zahlen_markieren“ und klicke auf „Ausführen“.

Mit diesem Vorgehen kannst Du sicherstellen, dass nur ganze Zahlen in den definierten Zellen erlaubt sind.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht wie gewünscht.

    • Lösung: Stelle sicher, dass die Zellen, die Du überprüfst, tatsächlich Zahlen enthalten. Prüfe auch die Range, die Du im Code angegeben hast.
  • Fehler: Zellen werden nicht eingefärbt.

    • Lösung: Überprüfe, ob die Zellen, die Du verwendest, korrekt formatiert sind. Oft kann eine falsche Formatierung dazu führen, dass das Makro nicht wie erwartet funktioniert.

Alternative Methoden

Wenn Du VBA vermeiden möchtest, kannst Du auch die bedingte Formatierung in Excel nutzen, um nur Zahlen in einer Zelle zuzulassen:

  1. Markiere die Zellen, die Du überprüfen möchtest.

  2. Klicke auf „Bedingte Formatierung“ > „Neue Regel“.

  3. Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“.

  4. Gib die folgende Formel ein:

    =NICHT(ISTZAHL(A1))
  5. Wähle das Format aus (z. B. rote Schrift), um die Zellen einzufärben, die keine Zahlen enthalten.

Diese Methode erlaubt eine schnelle visuelle Rückmeldung, ob die Zelle nur Zahlen enthält.


Praktische Beispiele

  • Beispiel 1: Du möchtest sicherstellen, dass in den Zellen A1 bis A5 nur ganze Zahlen erlaubt sind. Verwende das oben genannte VBA-Skript oder die bedingte Formatierung.

  • Beispiel 2: Wenn Du nur siebenstellige Zahlen zulassen möchtest, kannst Du die Formel in der bedingten Formatierung anpassen:

    =ODER(LÄNGE(A1)<>7, NICHT(ISTZAHL(A1)))

Diese Beispiele zeigen, wie Du die Eingaben in Deinen Excel-Zellen kontrollieren kannst.


Tipps für Profis

  • Verwende benutzerdefinierte Datenvalidierung: Anstatt VBA oder bedingte Formatierung zu verwenden, kannst Du auch Datenvalidierung einsetzen, um nur bestimmte Zahlenformate zuzulassen:

    1. Wähle die Zellen aus.
    2. Gehe zu „Daten“ > „Datenüberprüfung“.
    3. Stelle den Typ auf „Benutzerdefiniert“ und verwende eine Formel, die die gewünschten Bedingungen erfüllt.
  • Nutze die Funktion ISTZAHL(): Diese Funktion hilft dabei, zu überprüfen, ob die Eingabe in einer Zelle eine Zahl ist. So kannst Du sicherstellen, dass nur Zahlen in den Zellen akzeptiert werden.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur ganze Zahlen in Excel zulässig sind?
Verwende die Datenvalidierung mit der Formel =ISTZAHL(A1), um sicherzustellen, dass nur ganze Zahlen eingegeben werden können.

2. Was passiert, wenn ich Buchstaben in eine Zelle eingebe?
Wenn Du VBA oder die bedingte Formatierung verwendest, wird die Zelle entsprechend eingefärbt, um anzuzeigen, dass die Eingabe ungültig ist.

3. Kann ich auch negative Zahlen zulassen?
Ja, Du kannst die Bedingungen in der Datenvalidierung oder im VBA-Code anpassen, um negative Zahlen zuzulassen.

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