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

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 09: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 10: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 13: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 13: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 14: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 10: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 13: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 11:11:58
NoNet
_oT
Man muss auch mal auf etwas verzichten...
14.06.2010 14: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
;

Forumthreads zu verwandten Themen

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