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

Prüfung auf ganze Zahl

Forumthread: Prüfung auf ganze Zahl

Prüfung auf ganze Zahl
Holger
Guten Morgen,
wenn ich eine Eingabe auf einen numerischen Wert prüfen will, verwende ich z. B. "If IsNumeric() ..." in meiner Prozedur. Aber was kann ich für die Prüfung nach einer Ganzzahl benutzen, wenn ich z. B. eine Dezimalzahl ausschließen will?
Im Archiv und in der VBA-Hilfe finde ich nichts brauchbares.
Gruß Holger
Anzeige
Aber in meinen Programmen...
14.06.2010 11:48:12
Luc:-?
…Holger… ;-)
If xyz = CLng(xyz) Then oder besser If xyz = (xyz * 10) \ 10 Then
Gruß Luc :-?
AW: Aber in meinen Programmen...
14.06.2010 12:04:35
Holger
Hallo Luc:-?,
auf CLng hätte ich auch selbst kommen können ;-)
Danke!
Gruß Holger
Das rundet aber leider auf,...
14.06.2010 15:50:09
Luc:-?
…Holger;
also besser die anderen Varianten oder 'ne entsprechende Worksheetfunction wie zB .RoundDown verwenden.
Gruß Luc :-?
Anzeige
Bei mir nicht ;-)
14.06.2010 15:56:10
Holger
Also "If Zahl = CLng(Zahl)" rundet bei mir nicht auf, sondern prüft nur. Aber ich habe trotzdem jetzt die Variante "If Zahl = Zahl \ 1" gewählt.
Gruß Holger
Das kommt immer darauf an wie man's...
14.06.2010 16:33:53
Luc:-?
…braucht, Holger,
beim Vgl spielt's sicher keine Rolle, denn da ist das Aufrunden egal. Alternativ wäre natürlich auch noch If (Zahl *10) Mod 10 = 0 Then bzw andersherum If CBool((Zahl *10) Mod 10) Then gegangen. Daran hatte ich wohl unterbewusst bei meinem Alternativvorschlag gedacht… ;-)
Gruß Luc :-?
Anzeige
Versteh ich nicht ...
14.06.2010 12:10:34
xr8k2
... warum so umständlich Luc?
If xyz = xyz \ 1 Then …
wäre doch viel "durchsichtiger" ^^
Gruß,
xr8k2
Richtig! Ist nur 'ne Gewohnheit, die...
14.06.2010 15:47:25
Luc:-?
Mod zusammenhängt, xr8k2,
das liefert im Ggsatz zu REST bzw MOD stets einen ganzzahligen Rest. Da wäre dann teilen durch 1 sinnlos. Habe ich dann auch auf andere Ganzzahl-Operationen übertragen…
Gruß Luc :-?
Anzeige
@Luc : Kennt Dein PC kein INT(...) ;-) ?_oT
14.06.2010 13:11:58
NoNet
_oT
Man muss auch mal auf etwas verzichten...
14.06.2010 16:09:39
Luc:-?
…können, NoNet… ;-)
Meine Methode ist universeller, denn Int fkt zwar auch mit Datum-/Zeit-Werten, wandelt die aber nicht um! Und an so etwas arbeite ich gerade…
Bsp: Eine in eine als Datum formatierte Zelle eingegebene 1 wird von VBA erst als 31.12.1899 interpretiert und dann auf den xlüblichen 1.1.1900 transferiert. Durch INT ändert sich daran nichts. Ich brauche aber die 1, um sie mit aktuellem Monat und Jahr zu ergänzen. Also bleibt nur CLng. Int wäre dann allerdings bei Now nützlich, wenn ich nur das Datum benötige. Daran erinnere ich mich dann aber nicht mehr immer, weil's ja \ auch tut.
Reicht das…? ;-)
Gruß Luc :-?
Anzeige
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18