Thema Datum  Von Nutzer Rating
Antwort
Rot "Globale" Variablen & userform.hide
02.07.2013 12:33:02 Jonas
NotSolved
02.07.2013 12:58:46 Anna
NotSolved

Ansicht des Beitrags:
Von:
Jonas
Datum:
02.07.2013 12:33:02
Views:
1714
Rating: Antwort:
  Ja
Thema:
"Globale" Variablen & userform.hide

Hallo liebe Community,

 

ich habe zwei kleine Probleme und hoffe, dass mir hier jemand weiterhelfen kann.

 

1. ich habe mehrere Userforms, die mit "Weiter-Buttons" untereinander verknüpft sind. In jeder Private Sub CommandButton1_Click wird eine Variable deklariert und ein Wert auf dieser gespeichert.
Beim Klick auf den Weiter Button in der letzten Userform sollen nun die entsprechenden Variablen miteinander multipliziert, dividiert etc werden. Allerdings kommt es hier zu dem Fehler, dass die Variablen ja in den Private-Subs deklariert sind und somit nicht "global" sind.

 

Wie stelle ich das am besten an? Ich poste im folgenden mal ein paar Auszüge aus dem Quelltext...

ERSTE USERFORM:

Private Sub CommandButton1_Click()
Dim kWele As Single

If TextBox1.Text = "" Then
    MsgBox ("Bitte einen Wert für die elekrtische Leistung in [kW] eingeben!")
Else
    kWele = TextBox1
    Worksheets("Anlagen_Werte").Activate
    Cells(5, 2) = kWele
    leistungelektrisch.Hide
    leistungthermisch.Show
End If

End Sub

In dieser Art kommen drei weitere und dann abschließend folgende:

 

Private Sub CommandButton1_Click()
Dim vlsza As Single

If TextBox1.Text = "" Then
    MsgBox ("Bitte eine Volllaststundenzahl eingeben!")
Else
    vlsza = TextBox1
    Worksheets("Anlagen_Werte").Activate
    Cells(9, 2) = vlsza
    Cells(11, 2) = kWele * vlsza
    stromprod = Cells(11, 2).Value
    Cells(12, 2) = etaele / etathe
    stromkz = Cells(12, 2).Value
    Cells(13, 2) = stromprod / stromkz
    waermeprod = Cells(13, 2).Value
    Cells(14, 2) = waermeprod * 0.6
    minwaerme = Cells(14, 2).Value
    Cells(15, 2) = waermeprod * 0.35
    ferment = Cells(15, 2).Value
    Cells(16, 2) = minwaerme - ferment
    restwaerme = Cells(16, 2).Value
    Cells(17, 2) = (stromprod / etaele) / 9.94
    methbedarf = Cells(17, 2).Value
    volllast.Hide
    subs.Show
End If

End Sub

 

 

Dabei bekomme ich verständlicherweise eine Fehlermeldung, da die letzte Private Sub ja nciht die Variablen aus den vorangegangene kennt. Wie definiere ich also am besten diese "globalen" variablen???

 

Ich hoffe, mir kann jemand helfen.

 

2. Frage: Gibt es anstelle des Befehls  UserForm1.Hide einen Befehl, der sie nicht versteckt sondern schließt. In manchen Fällen kommt es nämlich zum Problem, dass wenn man oft zwischen den UserForms hin und her switcht und so die Fehlermeldung kommt UserForm.show kann ausgeführt werden, da sie schon geöffnet (aber eben versteckt) ist. Was tun???

 

Vielen vielen Dank für eure Hilfe im Voraus!

 

 

 

 

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot "Globale" Variablen & userform.hide
02.07.2013 12:33:02 Jonas
NotSolved
02.07.2013 12:58:46 Anna
NotSolved