Thema Datum  Von Nutzer Rating
Antwort
21.02.2021 18:32:40 Gabi_S
NotSolved
Blau Struktur einer Userform
21.02.2021 23:59:08 Gast4440
NotSolved
22.02.2021 12:37:11 Gabi_S
NotSolved
23.02.2021 20:02:14 xlKing
NotSolved

Ansicht des Beitrags:
Von:
Gast4440
Datum:
21.02.2021 23:59:08
Views:
235
Rating: Antwort:
  Ja
Thema:
Struktur einer Userform

Auch wenn sie nicht am Anfang des Codes steht, scheint Private Sub UserForm_Initialize() als erstes ausgeführt werden.

Richtig. Dieses Ereignis findet statt noch bevor die UserForm angezeigt wird.

[In der Sub UserForm_Initialize()] habe ich mehrere Variablen definiert, die ich auch an anderer Stelle der Userform benötige. Obwohl ich die Variablen als  Public definiert habe, sind die Variablen an andere Stelle nicht verfügbar.

'UserForm1
Option Explicit

Private Sub UserForm_Initialize()
  
  'Variablen auf Prozedurebene
  ' - nur innerhalb von UserForm_Initialize() bekannt
  Dim var1 As Long
  Dim var2 As String
  Dim var3 As Variant
  
  '...
  
End Sub

Zum Vergleich:

'UserForm1
Option Explicit
  
'Variablen auf Modulebene - auch Membervariablen genannt
' - sind in der gesamten UserForm bekannt
' - Private bedeutet, man kann auf diese Membervariablen, von Außerhalb der UserForm, nicht zugreifen
Private var1 As Long
Private var2 As String
Private var3 As Variant

Private Sub ComboBox1_Change()
  
  If ComboBox1.ListIndex = -1 Then
    Exit Sub
  End If
  
  If ComboBox1.Value = var1 Then
    Call MsgBox("Der Wert ist " & var1)
  Else
    Call MsgBox("Der Wert ist NICHT " & var1 & " (sondern " & ComboBox1.Value & ")")
  End If
  
End Sub

Private Sub UserForm_Initialize()
  
  'Werte zuweisen
  var1 = 10
  var2 = ""
  var3 = Array("Hello", 1, var1, "3")
  
  ComboBox1.List = var3
  
End Sub

Allgemein sollte man sich immer überlegen wann man Membervariablen wirklich braucht, oder ob es auch einfach reicht eine Informationen als Argument an eine Funktionen durchzureichen.

 

Grüße


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
21.02.2021 18:32:40 Gabi_S
NotSolved
Blau Struktur einer Userform
21.02.2021 23:59:08 Gast4440
NotSolved
22.02.2021 12:37:11 Gabi_S
NotSolved
23.02.2021 20:02:14 xlKing
NotSolved