Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
656to660
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
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Deklaration Gültigkeitsbereich einschränken

Deklaration Gültigkeitsbereich einschränken
27.08.2005 10:01:00
Stefan
Hallo Excel-VBA-Gemeinde,
kann man bei Variablen gleich bei der Deklaration die Gültigkeit einschränken ?
Bsp1:
Dim Test as Byte Min=1 Max=100
würde dann nur ganzen Zahlen von 1 bis 100 erlauben.
Dim Test2 10,20,30,40
würde dann nur 10, 20, 30, 40 erlauben.
Geht das?
Gruß Stefan.

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

Betreff
Datum
Anwender
Anzeige
AW: Deklaration Gültigkeitsbereich einschränken
27.08.2005 10:18:54
Nepumuk
Hi Stefan,
NEIN !!!
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Deklaration Gültigkeitsbereich einschränken
27.08.2005 10:29:15
Stefan
Ich dachte, icht hätte mit Enum etwas gefunden, aber wozu Enum gut ist, weiß ich gar nicht.
Schönes Wochenende
Stefan.
AW: Deklaration Gültigkeitsbereich einschränken
27.08.2005 10:42:04
Nepumuk
Hi,
Mit Enum enumerierst du Konstanten. Ist kein Wert angegeben, beginnt die Nummerierung mit Null. Beispiel:
Enum Meinetests
    test1
    test2
    test3
End Enum

Die Konstante test1 hat den Wert 0, test2 hat den Wert 1, test3 den Wert 2.
Diesen Datentyp kannst du nun z.B. bei dem Aufruf einer Prozedur verwenden. Beispiel:
Public Sub Makro1()
    Call Makro2(test2)
End Sub

Private Sub Makro2(Meinevariable As Meinetests)
    MsgBox Meinevariable
End Sub

Jetzt etwas klarer? Es gibt in VBA ab Excel2000 viele enumerierte Konstanten. Ich benutze die auch. Beispiel aus einen Makroaufruf:
Private Sub prcControlAdd( _
    ByRef objParent As Object, _
    Optional ByRef varControl As Variant, _
    Optional ByVal enumType As MsoControlType, _
    Optional ByVal varId As Variant, _
    Optional ByVal varBefore As Variant, _
    Optional ByVal varTemporary As Variant, _
    Optional ByVal bolBeginGroup As Boolean = False, _
    Optional ByVal varCaption As Variant, _
    Optional ByVal varFaceId As Variant, _
    Optional ByVal varOnAction As Variant, _
    Optional ByVal enumStyle As MsoButtonStyle, _
    Optional ByVal varTipText As Variant, _
    Optional ByVal enumState As MsoButtonState, _
    Optional ByVal varTag As Variant, _
    Optional ByVal enumLinkType As MsoCommandBarButtonHyperlinkType, _
    Optional ByVal bolEnabled As Boolean = True, _
    Optional ByVal bolVisible As Boolean = True, _
    Optional ByVal varWidth As Variant, _
    Optional ByVal varDropDownWidth As Variant, _
    Optional ByVal varDropDownLines As Variant)


Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
Ergänzung
27.08.2005 11:06:13
Nepumuk
Hi,
wenn du beim enumerieren einen Startwert vorgibst, wird ab diesem weiter gezählt.
Beispiel:
Enum Meinetests
    test1 = 5
    test2
    test3
End Enum

In dem Fall hat z.B. die Konstante test2 den Wert 6
Ein weiterer Vorteil, wenn du aus der vorhergehenden Beitrag die Makros kopierst, dann lösche mal im Makro1 die Variabe im Aufruf incl. der Klammern, so dass nur noch "Call Makro2" da steht. Wenn du nun die Klammer öffnest, werden dir automatisch die möglichen Werte vorgegeben.
Userbild
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Ergänzung
27.08.2005 12:02:49
Stefan
Danke.
Damit wäre zumindest eines meiner Probleme gelöst:
Variablen nur mit 10,20,30,40 zulassen (Solange die Werteanzahl nicht zu groß wird).
Stefan.
AW: Ergänzung
27.08.2005 15:04:51
Nepumuk
Hallo Stefan,
so gesehen, kannst du den Wertebereich einschränken, aber nur für diskrete Werte, die du vorher festlegst. Du kannst natürlich von 1 bis 100 enumerieren, ist aber eine Heidenarbeit und die macht sich keiner.
Gruß
Newpumuk

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige