Ich habe vor verschiedene UserFormen mit gleichen TextBoxen zu erstellen. Dabei kommen in einer UserForm alle TextBoxen vor. In den anderen UserFormen kommen nur einzelne TextBoxen vor. Die TextBoxen sollen beim Oeffnen jeweils ein Feld einer Tabelle auslesen. Dies soll allgemein formuliert werden.
Mein Vorhaben war bei der Initialisierung der jeweiligen UserForm die Existenz der Textboxen zu pruefen. Wenn diese vorhanden sind sollen sie gefuellt werden. Dazu meine Prozedur (zum Test nur fuer eine UserForm1 mit einer TextBox1):
Function Check(sName As String) As Boolean
Dim oName As Object
On Error Resume Next
Set oName = UserForm.OLEObjects("sName")
On Error GoTo 0
If oName Is Nothing Then
Err.Clear
Check = False
Else
Check = True
End If
End Function
Public Sub CheckAll()
Dim BTextBox1 As Boolean
BTextBox1 = Check("TextBox1")
MsgBox (BTextBox1)
End Sub
Public Sub EnterValues()
Call CheckAll
If BTextBox1 = True Then
TextBox1.Value = Worksheets("Tabelle1").Range("B3").Value
End If
End Sub
Wenn ich die Funktion EnterValues bei der Initialisierung meiner UserForm aufrufe ist BTextBox1 immer False. Ausserdem bekomme ich den Fehler Object Required wenn ich die If-Schleife durchlaufen lasse. Hab erst diese Woche mit VBA angefangen und wahrscheinlich leigt es an grundlegenden Fehlern. Ich hoffe ihr koennt mir weiterhelfen