Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
308to312
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
308to312
308to312
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datentyp abfragen / Integer verifizieren

Datentyp abfragen / Integer verifizieren
13.09.2003 23:29:14
Björn
Hei :-)

kann mir gerade jemand sagen, wie man den Datentyp einer Variablen abfragen kann bzw. verifizieren kann, ob eine Variable eine Ganzzahl ist? Leider gibt es ja keine Funktion IsInteger wie die IsNumeric-Function.

Einmal mehr Dank für jeden Hint.

Viele Grüße

Björn

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hat sich erledigt / danke
13.09.2003 23:36:55
Björn
Huhu,

ich habe es gefunden. TypeName(Variable). Sorry. Hatte aber wirklich eine Zeilang in der Hilfe gesucht, bis ich es gefunden habe. Nicht immer besonders kontextnah die Online--Hilfe zu VBA in xl 97. Mit PHP 's gettype usw. kommt man nicht wirklich weiter.

Gruß

Björn
AW: Datentyp abfragen / Integer verifizieren
13.09.2003 23:38:47
PeterW
Hallo Björn,

Variablen werden in VBA doch (sinnvollerweise) deklariert und (noch sinnvoller) entsprechend ihres Types benannt. Was genau möchtest du abfragen/erreichen?

Gruß
Peter
AW: Datentyp abfragen / Integer verifizieren
14.09.2003 00:15:52
Björn
Huhu Peter,

Du hast Recht. Genau genommen will ich den Datentyp eines Eingabewerts in ein Textfeld abfragen. Mit TypeName komme ich da auch nicht weiter, weil TypeName für eine Dezimale genauso String zurückgibt wie für eine Ganzzahl :-(. Wie prüft man denn am sinnvollsten, ob der Eingabewert eine Ganzzahl ist??? Danke für den Hinweis.

Viele Grüße

Björn
Anzeige
AW: Datentyp abfragen / Integer verifizieren
14.09.2003 00:39:21
PeterW
Hallo Björn,

in einem Textfeld steht immer Text, also ein String. Schau dir mal VAL in der VBA-Hilfe an, das bringt dich vielleicht weiter. Die Ganzzahlprüfung könnte z.B. sein
If CDbl(Textbox) - CInt(Textbox) > 0

Gruß
Peter
AW: Datentyp abfragen / Integer verifizieren
14.09.2003 01:18:42
Björn
Huhu Peter,

Danke für die Hilfestellung! Ohne sie hätte ich bestimmt noch eine ganze Weile herumexperimentiert und vielleicht sogar auf die Prüfung verzichtet. Ich hab mich jetzt für Deinen Ansatz über die Typenzuweisung entschieden. Das Script sieht jetzt wie nachstehend aus, wobei textbox13 ein Textbox ist, in dem ein der Tageswert eines Datums eingegeben werden soll und Textbox14 ein weiteres Eingabefeld für den Monat des Datums.
Ich hatte daneben noch überlegt, eine Variable vom Typ Vyte zu definieren und zu prüfen, ob die Zuweisung dieser Variablen zum Wert der Textbox einen Fehler liefert. In etwa:
Dim Tag as Bbyte
If iserror(Tag=textbox13.value) then
(...)
end if
Aber das ist wohl auch nicht zielführend. Danke nochmals und gute Nacht :-).

Gruß

Björn




Private Sub TextBox14_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox14.Value) Then
If TextBox14.Value > 0 And TextBox14.Value < 32 And CDbl(TextBox14.Value) - CByte(TextBox14.Value) = 0 Then
If TextBox14.Value <> "" And TextBox15.Value <> "" Then
If Day(DateSerial(2004, TextBox15.Value, TextBox14.Value)) = Val(TextBox14.Value) Then
TextBox14.ForeColor = &H0
Ausgabe
'wenn kein gültiges Datum
Else
MsgBox "Bitte gültigen Wert für den Tag der Grundfälligkeit eingeben. Im Monat " & TextBox15.Value & " gibt es keinen Tag " & TextBox14.Value, vbCritical, "Kein gültiges Datum"
Cancel = True
End If
'wenn keine Ganzzahl im Feld Monat der Grundfälligkeit, wechsele zu Monat der GF
Else
TextBox14.ForeColor = &H0
Ausgabe
End If
'---wenn kleiner 1, oder größer 31 oder keine Ganzzzahl
Else
MsgBox "Bitte Tag der Grundfälligkeit als Ganzzahl eingeben.", vbCritical, "Unzulässiger Eingabewert"
Cancel = True
End If
'---Wenn nicht numeric
Else
MsgBox "Unzulässiger Eingabewert. Bitte Tag der Grundfälligkeit als Zahl eingeben", vbCritical, "Unzulässig"
Cancel = True
End If
End Sub

Anzeige
AW: Datentyp abfragen / Integer verifizieren
14.09.2003 01:25:30
PeterW
Hallo Björn,

das geh ich jetzt nicht mehr durch, bin auch schon zu lange am Rechner. Wir lesen uns morgen - wenn nicht ein anderer Nachtschwärmer Langeweile hat und eine Lösung anbietet. :-)

Gruß
Peter
AW: Datentyp abfragen / Integer verifizieren
14.09.2003 01:52:35
Björn
Huhu Peter,

war auch nur gedacht, falls (später) mal jemand was Ähnliches sucht. So weit ich das bis jetzt sehe funktioniert's. Schlaf gut :-)

Gruß

Björn

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige