So funktioniert JustAnswer:
  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten. Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.
Stellen Sie Ihre Frage an IT-Fachinformat...
IT-Fachinformatiker
IT-Fachinformatiker, Systemadministrator
Kategorie: Computer
Zufriedene Kunden: 6974
Erfahrung:  Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
32504664
Geben Sie Ihre Frage in der Kategorie Computer hier ein
IT-Fachinformatiker ist jetzt online.

excel2007_vba wie kann ich im laufende projekt das wert

Kundenfrage

excel2007_vba

wie kann ich im laufende projekt das wert einer variable die im verschieden sub's sich verändern kann, überprüfen und beim einen bestimmte wert eine entsprechende routine aufrufen?
Gepostet: vor 6 Jahren.
Kategorie: Computer
Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo,

also Sie wollen eine Variable haben, auf der Sie von überall her Zugriff lesend und schreibend haben? Dafür gibt es einige Möglichkeiten es ist aber davon abzuraten, so etwas zutun d.h. wenn Sie von überall her auf Variablen zugreifen führt dies zu Instabilität und enormen Problemen in der Objekt Orientierten Programmierung gibt es solche Möglichkeiten daher erst gar nicht dort stehen andere Methoden zur Verfügung. Ich glaube Ihnen geht es um ein globales Konstrukt richtig?

LG Günter
Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo,

was Sie machen können ist folgendes:

1. Erstellen Sie ein neues Modul ganz normales Modul im VBA-Editor (Alt+F11) Menü Einfügen > Klassenmodul

2. Dort schreiben Sie die Variable rein, auf die Sie zugreifen möchten:

Global MyVar As Variant

3. Jetzt können Sie MyVar von jeder Stelle aus einen Wert zuweisen und somit auch fest legen, was getan werden soll:

If MyVar = 10 Then
MySub(Parameter1, MyVar)
Else
Exit Sub
End If


Mehrfach Prüfungen funktionieren so:

Select Case MyVar
Case 10: SubA
Case 20: SubB
Case 30: SubC
Case Else: MsgBox "Fehler ungültiger Wert"
End Select


Sie sehen, Sie können auch den Wert von MyVar an die aufzurufende Sub übergeben wenn Sie dies wollen sofern die aufrufende Sub eine entsprechende Parameterliste hat.

Probieren Sie es in Ruhe aus, ich denke das ist das was sie brauchen. Gern stehe ich weiter zur Verfügung.

Gruss Günter
IT-Fachinformatiker und weitere Experten für Computer sind bereit, Ihnen zu helfen.
Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
So, da haben wir es (Antwort auf Ihre neue Frage und ganz herzlichen Dank für Ihre Akzeptierung?:


Public myvar As Integer

so muss es sein wobei Integer ein Zahlendatentyp ist es gibt wie Sie wissen auch:

String für Zeichenketten Beispiel "Hallo Welt ich bin ein String"
Integer für ganze Zahlen von -32768 bis +32768 Beispiel: 257
Long für sehr grosse Zahlen Beispiel: 1555879
Double für Dezimalwerte Beispiel: 0,545 oder 1,558

Variant ist auch möglich wenn man den Datentyp noch nicht festlegen will die Festlegung erfolgt dann beim setzen der Variable Beispiel:

Dim n As Variant
n = 10

Damit ist n ein Integer.

Gern stehe ich weiter zur Verfügung und unterstütze Sie gern!

LG Günter