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

Forumthread: Nur Zahlen (Ganzzahlen) erlauben

Nur Zahlen (Ganzzahlen) erlauben
03.03.2016 16:12:16
Jockel
Hallo ,
ich möchte eine Spalte überprüfen, ob nur Zahlen drin sind.
das habe ich soweit mit
If Not IsNumeric(c) Then ....
hinbekommen, aber ich möchte auch verhindern dass der User in einem Range ein Kommazeichen oder einen Punkt setzt. Die werden bei der Prüfung nicht erfasst.
Der User soll wirklich nur Ganzzahlen eingeben können.
Wie kann ich so was abfragen ?
Danke
Jockel

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Nur Zahlen (Ganzzahlen) erlauben
03.03.2016 16:20:43
Hajo_Zi
Hallo Jockel,
Warum nicht Gültigkeit, Ganze Zahl?

AW: Nur Zahlen (Ganzzahlen) erlauben
03.03.2016 16:37:11
Jockel
weil ich gerne in VBA machen will.
Gruß

AW: Nur Zahlen (Ganzzahlen) erlauben
03.03.2016 16:45:58
Daniel
Hi
ob in einem Zellbereich nicht nur Zahlen sondern auch Texte vorhanden sind, kannst du so prüfen:
IF Worksheetfunction.CountA(Range(...))  Worksheetfunction.Count(Range(...)) Then
das CountA zählt alle Zellen, die einen Inhalt haben, das Count Zählt alle Zellen, die eine Zahl enthalten (entspricht den Excelfunktionen Anzahl und Anzahl2)
wenn diese Prüfung nur Zahlen ausgibt, kannst du eine Kommazahl so finden:
If Not Range(...).Find(what:=".", LookIn:=xlValues, lookat:=xlPart) Is Nothing Then 
Gruß Daniel

Anzeige
AW: Nur Zahlen (Ganzzahlen) erlauben
03.03.2016 16:46:01
Hajo_Zi

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target  CLng(Target) Then
MsgBox "Falsche Eingabe"
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
End If
End If
End Sub
Gruß Hajo

Anzeige
AW: Nur Zahlen (Ganzzahlen) erlauben
03.03.2016 19:55:13
Gerd
Hallo Jockel,
die Eingabesteuerung etwas vollständiger:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
If Not Intersect(Target, Columns(1)) Is Nothing Then  '1 = A; 2 = B etc.
For Each Rng In Intersect(Target, Columns(1))
If Not IsNumeric(Rng.Text) Then
MsgBox "Falsche Eingabe; nur Ganzzahlen"
Application.EnableEvents = False
Rng = ""
Application.EnableEvents = True
ElseIf Rng  CLng(Rng) Then
MsgBox "Falsche Eingabe; nur Ganzzahlen"
Application.EnableEvents = False
Rng = ""
Application.EnableEvents = True
End If
Next
End If
End Sub
Gruß Gerd

Anzeige
AW: Nur Zahlen (Ganzzahlen) erlauben
04.03.2016 08:50:40
Jockel
Hallo Gerd,
danke, der Code funktioniert perfekt.
Ich hätte den Code aber lieber in einem Button hinterlegt und nicht in einem Change Ereignis.
was muss ich da ändern ?
Danke
Jockel
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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