Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
@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
Anzeige
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
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

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige