Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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
Inhaltsverzeichnis

Private Sub tbVE_Exit irgendwas falsch

Private Sub tbVE_Exit irgendwas falsch
21.02.2024 10:45:40
Ray
Moin moin,

ich mache:

Private Sub UserForm_Initialize()
tbVE.Text = Worksheets("datenOutput").Range("x2").Value
tbVE.SetFocus

Dim chk As String
chk_tbVE = tbVE
MsgBox chk_tbVE & tbVE
End Sub

und will dann schauen ob die Textbox beim verlassen anders aussieht als sie geladen wurde:

Private Sub tbVE_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If tbVE = chk_tbVE Then
MsgBox "ERR"
End If
MsgBox "" & tbVE & chk_tbVE
End Sub

MsgBox habe ich mal zum Test eingefügt, es ist beides das gleiche aber MsgBox "Err" kommt nicht.

Was mach ich falsch?

VG Ray

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Private Sub tbVE_Exit irgendwas falsch
21.02.2024 11:03:46
GerdL
Hallo Ray!

Die Prozedur Private Sub tbVE_Exit kennt die Variable chk_tbVE nicht
bzw. deren Gültigkeitdauer ist auf die Prozedur Private Sub UserForm_Initialize begrenzt.
Deklariere diese Variable auf Modulebene (ganz oben) oberhalb der beiden Prozeduren.

Gruß Gerd
AW: Private Sub tbVE_Exit irgendwas falsch
21.02.2024 11:10:48
daniel
Hi
wenn du Variablen in mehreren Makros eines Moduls verwenden willst, dann muss die Deklaration dieser Variable am Anfang des Moduls erfolgen, ober halb der Markos.
ich empfehle zusätzlich die Verwendung von Option Explicit (es dürfen nur deklarierte Variablen verwendet werden)

option explicit

Dim chk_tbVE As String

Private Sub UserForm_Initialize()
tbVE.Text = Worksheets("datenOutput").Range("x2").Value
tbVE.SetFocus
chk_tbVE = tbVE
MsgBox chk_tbVE & tbVE
End Sub


Private Sub tbVE_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If tbVE = chk_tbVE Then
MsgBox "ERR"
End If
MsgBox "" & tbVE & chk_tbVE
End Sub

deklarierst du eine Variable innerhalb eines Makros, so ist diese Variable nur in diesem Makro bekannt.
Wenn du dann in einen anderen Makro eine Variable mit gleichem Namen verwendest, dann sind es trotzdem zwei unterschiedliche Variablen, die nicht miteinander zu tun haben.
so wie du es machst, hat chk_tbVE im EXIT_Makro den Wert "", weil es eine andere Variable ist als die im INITIALIZE-Makro.

Gruß Daniel
Anzeige
AW: Private Sub tbVE_Exit irgendwas falsch
21.02.2024 11:49:56
Ray
Danke Bro

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige