wie kann ich eine Variable aus einer Arbeitsmappe an eine UserForm übergeben?
Ich hab das mit untenstehendem Code probiert, aber die Variablen Text1 und Text2 werden beim verlassen der Sub trotz Public-Deklaration gelöscht. Was mach ich falsch?
'###### in der „UserForm1“ steht:
Sub UserForm_Initialize()
UserForm1.TextBox1.TEXT = text1
UserForm1.TextBox2.TEXT = text2
End Sub
‘##### in “diese Arbeitsmappe”:
Public text1 As String
Public text2 As String
Private Sub Workbook_Open()
Call DatumLesen
'MsgBox text1 & text2 'nur zum testen ob Variablen gefüllt sind
UserForm1.Show
ThisWorkbook.Save
Application.Quit 'Schließt die Datei und Excel !!!
'Application.Workbooks(1).Close 'Schließt nur die Datei; Excel bleibt offen
End Sub
Sub DatumLesen()
'übers Ethernet lese ich Datum und Uhrzeit in einem String „DATA2“ ein
'dieser String wird dann zerlegt und soll in einem Formular Userform1 angezeigt werden.
'*** aus Platzgründen hab ich den Code zum einlesen weggelassen ***
'gelesenes Datum in Anzeige kopieren
'UserForm1.TextBox1.TEXT = VBA.Mid$(DATA2, 5, 2) + "." + VBA.Mid$(DATA2, 3, 2) + _
".20" + VBA.Mid$(DATA2, 1, 2)
text1 = VBA.Mid$(DATA2, 5, 2) + "." + VBA.Mid$(DATA2, 3, 2) + _
".20" + VBA.Mid$(DATA2, 1, 2)
'gelesene Uhrzeit in Anzeige kopieren
'UserForm1.TextBox2.TEXT = VBA.Mid$(DATA2, 7, 2) + ":" + VBA.Mid$(DATA2, 9, 2) + _
":" + VBA.Mid$(DATA2, 11, 2)
text2 = VBA.Mid$(DATA2, 7, 2) + ":" + VBA.Mid$(DATA2, 9, 2) + _
":" + VBA.Mid$(DATA2, 11, 2)
'innerhalb der Sub steht in den Variablen dann so was:
'text1 =“02.04.2003“ ; text2=“13:18:00“
'sobald ich die Sub verlasse, sind die Variablen wieder leer (Trotz Public –Deklaration)
End Sub