Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Verwendung einer Constante aus einer anderen SUB



Excel-Version: 8.0 (Office 97)

Betrifft: Verwendung einer Constante aus einer anderen SUB
von: Margit
Geschrieben am: 28.08.2002 - 12:14:22

Hi,

ich versuche eine Constante aus einer anderen SUB aufzurufen, allerdings ist sie (wenn sie verwendet werden soll) leer??? Bspw:

Sub arbeit()
status = 1
....
End Sub

Sub arbeit2()
if Status =1 then...
End Sub

Wer kann helfen???

Danke

  

Re: Verwendung einer Constante aus einer anderen SUB
von: Udo RiHü
Geschrieben am: 28.08.2002 - 12:44:10

Hallo,
Du musst Status als globale Variable (Public Status) definieren.

Gruss Udo


  

Re: Verwendung einer Constante aus einer anderen SUB
von: Robert B.
Geschrieben am: 28.08.2002 - 13:10:45

Hallo Margit,

der Code von dir sollte dann z.B. wie folgt aussehen.


Option Explicit

Public Const cintStatus As Integer = 1

Sub arbeit2()
If cintStatus = 1 Then
MsgBox "Der Status ist " & cintStatus
End If
End Sub

Hoffe es hilft Dir

Gruß Robert


  

Re: Verwendung einer Constante aus einer anderen SUB
von: Jürgen
Geschrieben am: 28.08.2002 - 13:12:51

Hallo Margit.

Zunächst besitzt eine Konstante einen festen Wert. Dann besitzt jede Konstante -wie auch die Variablen- einen Gültigkeitsbereich. Dieser ist in dem Beispiel sehr intim mit der Sub arbeit verbunden. Für das Beispiel heißt das, daß zwei Konstanten gleichen Namens existieren. Eine in jeder Sub. Desweiteren sehe ich kein "Option Explicit". Und das bringt mich auf die Idee, daß es sich in diesem Beispiel um zwei Variablen varianter Natur handelt und nicht um eine Konstante.

Warum muß es eine Konstante sein und warum muß sie in einer Prozedur gesetzt werden ? Wenn ich mir deine Zeilen ansehe, schätze ich, daß zwei Möglichkeiten zum Erfolg führen.

.) Die Konstante sollte global für das Modul seine Gültigkeit erlangen.

Option Explicit 'Diese Option hilft, Probleme zu vermeiden
Const Status = 1
Sub arbeit()
...
End Sub
Sub arbeit2()
If (Status = 1) Then ...
End Sub

.) Die Konstante ist eine globale Variable. Diese kann in der einen Sub gesetzt und in der anderen abgefangen werden.

Option Explicit
Dim Status As Integer
Sub arbeit()
Status = 1
End Sub
Sub arbeit2()
If (Status = 1) Then ...
End Sub

Gruß
Jürgen


  

Re: Verwendung einer Constante aus einer anderen SUB
von: Margit
Geschrieben am: 28.08.2002 - 14:14:01

Danke....allen!!!!
Hat funktioniert!

 

Beiträge aus den Excel-Beispielen zum Thema "Verwendung einer Constante aus einer anderen SUB"