Excel VBA - es ist ein leistungsfähiges Werkzeug für die Automatisierung und Analyse von Daten in Excel. Manchmal müssen wir überprüfen, ob eine Zahl in Excel VBA nicht ganzzahlig ist. Dies kann nützlich sein, wenn wir bestimmte Operationen ausführen oder eine bestimmte Logik nur auf Nicht Ganzzahlen anwenden möchten.
Es gibt mehrere Möglichkeiten, um zu überprüfen, ob eine Zahl in Excel VBA nicht ganzzahlig ist. Eine davon ist die Verwendung einer Funktion IsNumeric. Die Funktion IsNumeric gibt True zurück, wenn der Ausdruck eine Zahl ist, und False, wenn der Ausdruck keine Zahl ist. Wir können diese Funktion verwenden, um zu überprüfen, ob der Zellenwert eine Zahl ist, und dann den Mod-Operator verwenden, um zu überprüfen, ob es einen Rest davon gibt, diese Zahl durch 1 zu dividieren.
Sub CheckIfNumberIsNotInteger()Dim number As Double
number = 5.5
If IsNumeric(number) Then
If number Mod 1 <> 0 Then
MsgBox "Number is not an integer"
Else
MsgBox "Number is an integer"
End If
Else
MsgBox "Number is not a valid numeric value"
End If
End Sub
In diesem Beispiel deklarieren wir die Variable "number" als Double und weisen ihr den Wert 5.5 zu. Dann verwenden wir bedingte Operatoren, um zu überprüfen, ob eine Zahl nicht ganzzahlig ist. Wenn die Zahl mit dem Rest durch 1 geteilt wird, wird die Meldung "Number is not an integer" angezeigt. Andernfalls wird die Meldung "Number is an integer" angezeigt. Wenn der Zellenwert keine Zahl ist, wird die Meldung "Number is not a valid numeric value" angezeigt.
Dies ist eine Möglichkeit zu überprüfen, ob eine Zahl in Excel VBA nicht ganzzahlig ist. Abhängig von den Anforderungen und der Logik Ihres Programms können Sie eine andere Prüfmethode wählen. Es ist wichtig, die am besten geeignete Methode für Ihre spezifische Situation zu wählen.
Wie kann ich feststellen, ob eine Zahl in Excel VBA ein Bruchteil ist?
Hier ist ein Beispielcode, der veranschaulicht, wie eine Zahl auf Bruchzahl überprüft wird:
Function IsFractional(ByVal number As Double) As Boolean
If Int(number) <> number Then
Diese Funktion akzeptiert eine Zahl als Parameter und gibt "True" zurück, wenn die Zahl ein Bruchteil ist, und "False", wenn die Zahl eine ganze Zahl ist. Sie können diese benutzerdefinierte Funktion in Ihrem Code verwenden, um festzustellen, ob eine Zahl ein Bruchteil ist oder nicht.
Hier ist ein Beispiel für die Verwendung dieser Funktion:
Dim number As Double
If IsFractional(number) Then
MsgBox "Die Zahl ist ein Bruchteil."
MsgBox "Die Zahl ist eine ganze Zahl."
In diesem Beispiel wird die Funktion "IsFractional" für die Zahl 2.5 aufgerufen. Da diese Zahl ein Bruchteil ist, wird die Meldung "Die Zahl ist ein Bruchteil" angezeigt.". Wenn wir eine ganze Zahl übergeben würden, zum Beispiel 2, würde die Meldung "Die Zahl ist eine ganze Zahl.".
Mit diesem Ansatz können Sie leicht feststellen, ob eine Zahl in Excel VBA ein Bruchteil ist oder nicht.
Methode 1: Verwenden der IsNumeric-Funktion
Sie können den folgenden Code verwenden, um zu überprüfen, ob eine Zahl nicht ganzzahlig ist:
Sub CheckNumber()Dim number As Double' Присваиваем значение числуnumber = 4.75' Проверяем, является ли число нецелымIf Not IsNumeric(number) ThenMsgBox "Число не является числом!"ElseIf number = Int(number) ThenMsgBox "Число является целым!"ElseMsgBox "Число является нецелым!"End IfEnd Sub
In diesem Beispiel weisen wir der Variablen number die Zahl 4.75 zu und verwenden dann die Funktion IsNumeric, um zu überprüfen, ob diese Zahl nicht ganzzahlig ist. Wenn die Zahl keine Zahl ist, wird die Meldung "Zahl ist keine Zahl!". Wenn die Zahl eine ganze Zahl ist, wird die Meldung "Die Zahl ist eine ganze Zahl!". Andernfalls wird die Meldung "Die Zahl ist nicht ganzzahlig!".
Daher ermöglicht Methode 1, die auf der Verwendung der IsNumeric-Funktion basiert, eine einfache Überprüfung, ob eine Zahl in Excel VBA nicht ganzzahlig ist.
Methode 2: Überprüfen Sie den Rest der Division durch 1.
Ein Beispiel:
Sub CheckNonInteger() Dim number As Double number = 10.5 If number Mod 1 <> 0 Then MsgBox "Die Zahl " & number & " ist nicht ganzzahlig." Else MsgBox "Die Zahl " & number & " ist eine ganze Zahl." End If End Sub
In diesem Beispiel legen wir die Variable "number" als Zahl 10.5 fest. Dann verwenden wir den "Mod" -Operator, um den Rest der Division einer Zahl durch 1 zu berechnen. Wenn der Rest der Division nicht Null ist, ist die Zahl nicht genau eine ganze Zahl und es wird die Meldung "Die Zahl 10.5 ist nicht Ganzzahl.". Andernfalls wird die Meldung "Die Zahl 10.5 ist eine ganze Zahl.".
Diese Methode kann auch mit Variablen vom Typ Integer oder Long verwendet werden, da VBA diese Datentypen vor dem Ausführen einer Mod-Operation automatisch in Double konvertiert.
Sie können diesen Code anpassen, um eine beliebige andere Zahl in Excel VBA auf Unintelligenz zu überprüfen. Ersetzen Sie einfach den Wert der Variablen "number" durch Ihre Nummer und fügen Sie die erforderlichen Aktionen nach der Überprüfung hinzu.
Methode 3: Verwenden der Int-Funktion
Im folgenden Beispielcode wird veranschaulicht, wie die Int-Funktion verwendet wird, um zu überprüfen, ob eine Zahl nicht ganzzahlig ist:
Dim num As Doublenum = 3.14If num <> Int(num) ThenMsgBox "Число " & num & " является нецелым."ElseMsgBox "Число " & num & " является целым."End If
Dim num As Doublenum = 5If num <> Int(num) ThenMsgBox "Число " & num & " является нецелым."ElseMsgBox "Число " & num & " является целым."End If
Die Verwendung der Int-Funktion ist eine einfache und bequeme Möglichkeit zu bestimmen, ob eine Zahl in Excel VBA nicht ganzzahlig ist.