Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Public Variable in Userform geht nicht
20.08.2021 08:07:49
DanielB
Hallo Zusammen
Ich habe ein Problem, bei dem ich aktuell nicht weiter komme.
Ich deklariere in einer Userform eine Variable als Public.
Wenn ich aber diese Variable in einer anderen Userform aufrufe ist sie leer.
Was mache ich falsch?
Userform1
( Textbox2 - Ja, ich übergebe den Wert auch in einer versteckten Textbox zum Testen. Das soll aber eigentlich so nicht sein.)

Option Explicit
Public linecodexyz As String
Public Sub CommandButton1_Click()
Dim linecodexyz As String
Dim foundPN As Range
Set foundPN = Range("B:B").Find(UserForm1.TextBox1.Value)
linecodexyz = foundPN.Address
' Wiedergabe der Zeilennummer mit : foundPn.Address
If Not foundPN Is Nothing Then
MsgBox linecodexyz
'UserForm6.TextBox3 = UserForm1.TextBox1
TextBox2 = foundPN.Address
UserForm6.Show
UserForm1.TextBox1 = ""
UserForm1.TextBox2 = ""
' Unload UserForm1
Else
MsgBox "Bitte prüfen Sie Ihre Eingabe. Diese Personalnumer existiert leider nicht"
TextBox1.Value = ""
End If
End Sub
Public Sub CommandButton2_Click()
Unload Me
End Sub
Userform6 - in diese Userform sollen die Daten
Die Übergabe der Textboxen funktioniert;
die Übergabe der variable leider nicht

Public Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
UserForm6.TextBox3 = UserForm1.TextBox1
UserForm6.TextBox5 = UserForm1.TextBox2
With TextBox1
.Value = Format(Now, "dd.mm.yyyy")
End With
End Sub
Public Sub CommandButton1_Click()
MsgBox linecodexyz
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Public Variable in Userform geht nicht
20.08.2021 08:16:56
Nepumuk
Hallo Daniel,
wenn du in einem Klassenmodul eine öffentliche Variable deklarierst, dann ist das eine öffentliche Eigenschaft der Klasse.
Um eine öffentliche Variable zu erhalten, musst du diese in einem Standardmodul deklarieren.
Gruß
Nepumuk
AW: Public Variable in Userform geht nicht
20.08.2021 08:39:57
Daniel
jetzt habe ich ein Modul erstellt

Option Explicit
Public linecodexyz As String
Sub test2()
Dim linecodexyz As String
Dim foundPn As Range
Set foundPn = Range("B:B").Find(UserForm1.TextBox1.Value)
linecodexyz = foundPn.Address
End Sub
Userform

Public Sub CommandButton1_Click()
Call test2
If Not foundPn Is Nothing Then
MsgBox linecodexyz
'UserForm6.TextBox3 = UserForm1.TextBox1
TextBox2 = foundPn.Address
UserForm6.Show
UserForm1.TextBox1 = ""
UserForm1.TextBox2 = ""
' Unload UserForm1
Else
MsgBox "Bitte prüfen Sie Ihre Eingabe. Diese Personalnumer existiert leider nicht"
TextBox1.Value = ""
End If
End Sub
Hier bekomme ich nun einen Fehler: Typen unverträglich

If Not foundPn Is Nothing Then

Anzeige
AW: Public Variable in Userform geht nicht
20.08.2021 08:49:50
Nepumuk
Hallo Daniel,
so:

Option Explicit
Public foundPn As Range
Sub test2()
Set foundPn = Columns(2).Find(UserForm1.TextBox1.Value)
End Sub

Public Sub CommandButton1_Click()
Call test2
If Not foundPn Is Nothing Then
'UserForm6.TextBox3 = UserForm1.TextBox1
TextBox2 = foundPn.Address
UserForm6.Show
UserForm1.TextBox1 = ""
UserForm1.TextBox2 = ""
' Unload UserForm1
Else
MsgBox "Bitte prüfen Sie Ihre Eingabe. Diese Personalnumer existiert leider nicht"
TextBox1.Value = ""
End If
End Sub
Gruß
Nepumuk
Anzeige
AW: Public Variable in Userform geht nicht
20.08.2021 09:04:06
Daniel
Hallo Nepumuk,
vielen Dank.
Ich habe es eben nochmal ganz anders probiert und es funktioniert
Userform 1 und Userform 6

Call globalevariablen
Modul Globalevariablen

Public linecodexyz As String
Ist mein Ansatz nun "zu Einfach" gedacht ?
AW: Public Variable in Userform geht nicht
20.08.2021 09:14:22
Nepumuk
Hallo Daniel,
was willst du mit "Call globalevariablen" bewirken?
Gruß
Nepumuk
AW: Public Variable in Userform geht nicht
20.08.2021 09:16:41
Daniel
Sorry, war etwas missverständlich ; ich habe ein Modul Globalevariablen erstellt in dem auch wiederkehrende Texte und Grenzwerte eingepflegt sind;
hier habe ich dann die Variable eingefügt
Call Globalevarialen ist wie call test2
Anzeige
AW: Public Variable in Userform geht nicht
20.08.2021 09:41:42
Nepumuk
Hallo Daniel,
da ich die Prozedur nicht kenne, kann ich nur sagen, wenn es funktioniert, ist es ok.
Gruß
Nepumuk
Modul Globalevariablen
20.08.2021 12:09:00
Rudi
ein Modul kann man nicht Callen.
Irgendwas machst du grundsätzlich falsch bzw. weißt nicht, was du tust.
Gruß
Rudi
AW: Public Variable in Userform geht nicht
20.08.2021 17:50:08
onur
Globale Variablen gehören in ein Standardmodul (Einfügen/Modul):

Public meineVariable as String ' ODER WAS AUCH IMMER
Fertig - Du brauchst weder dem Modul einen besonderen Namen geben noch es mit "Call Modul1" aufzurufen.

293 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige