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

Forumthread: Public Variable prüfen ob ein Inhalt da

Public Variable prüfen ob ein Inhalt da
27.10.2021 12:49:41
Thomas
Ich habe gleich eine weitere frage:
Wenn ich: Diesen Skriptkopf mache
Public Test As Integer

Sub Halle ()
End Sub
Kann ich im

Sub irgendwie prüfen ob in der Public Variable etwas gespeichert ist? Und wenn nein, das Makro abbrechen lassen? oder sonst etwas ausführen lassen.
Es grüsst
Thomas


		
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Public Variable prüfen ob ein Inhalt da
27.10.2021 13:09:00
Rudi
Hallo,
bei Typ Integer (VarType 2) hat sie zumindest den Wert 0.
Wenn du sie als Variant deklarierst, hat sie bis zur ersten Zuweisung VarType 0

Public test
Sub aaa()
If VarType(test)  0 Then
'mach was
End If
End Sub

AW: Public Variable prüfen ob ein Inhalt da
27.10.2021 15:08:01
Thomas
Hallo Rudi Danke
Ich krieg es nicht hin :-( und sieht eigentlich so einfach aus...
Ausschnitt von meinem Skript ist so:
Option Explicit
Public ZeileAUST As Integer, ZeileMATE As Integer

Sub AUST()
ZeileAUST = ActiveCell.Row              'Aktive Zeile in Ausmasstabelle speichern
Worksheets("Materialerfassung").Select
End Sub

Sub MATE()
If VarType(ZeileAUST)  0 Then End     'Prüfen ob Variable etwas im Speicher hat
ZeileMATE = ActiveCell.Row             'Aktive Zeile in Materialerfassung speichern
UFAusmass.Show
End Sub
Was in den Variablen gespeichert wird ist ActiveCell.Row
Was ich prüfen will ist, ob die Variable eine Zeilenposition gespeichert hat oder nicht. Aber ich krieg es nicht hin.
Es grüsst
Thomas
Anzeige
AW: Public Variable prüfen ob ein Inhalt da
27.10.2021 15:21:12
Rudi
ich hab doch geschrieben, dass die Variable den Typ Variant haben muss.
So geht das:

Public ZeileAUST As Variant, ZeileMATE As Long
Sub AUST()
ZeileAUST = ActiveCell.Row              'Aktive Zeile in Ausmasstabelle speichern
Worksheets("Materialerfassung").Select
End Sub
Sub MATE()
Select Case VarType(ZeileAUST)
Case 2, 3                               'Prüfen ob Variable etwas im Speicher hat
ZeileMATE = ActiveCell.Row             'Aktive Zeile in Materialerfassung speichern
UFAusmass.Show
ZeileAUST = Empty
Case Else
MsgBox "ZeileAUST nicht belegt oder kein Integer/ Long"
End Select
End Sub

Anzeige
AW: Public Variable prüfen ob ein Inhalt da
27.10.2021 15:38:02
Thomas
Danke Rudi, ja ich weiss
Kann die Variant aber nicht gebrauchen...
Hab jetzt auch noch getüftelt und es so gelöst.:

Sub MATE()
If ZeileAUST 
Gruss
Thomas
AW: Public Variable prüfen ob ein Inhalt da
27.10.2021 13:12:17
Werner
Hallo,
wenn der Variablen noch kein Wert zugewiesen wurde, dann hat sie den Wert 0 und das kannst du ja abfragen.

Public Test As Integer
Public Sub aaa()
MsgBox Test
Test = 22
MsgBox Test
End Sub
Gruß Werner
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