Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Function innerhalb eines Frame

Forumthread: Function innerhalb eines Frame

Function innerhalb eines Frame
06.07.2018 11:53:33
Berg
Hallo,
ich prüfe die Textboxen in einer Userform auf dessen Inhalte. Dies mache ich über eine Function, da ich keine Klassen schreiben kann:
Function TextBoxPrüfung(crtl As Control) As Boolean
If crtl = "" Then
Exit Function
ElseIf Not IsNumeric(crtl) Then
crtl.BackColor = RGB(100, 100, 199)
MsgBox ("Eingabe ist nicht vom Type Numeric!")
TextBoxPrüfung = True
ElseIf crtl > 1 Then
crtl.BackColor = RGB(255, 255, 255)
crtl = Format(crtl, "#,##0.00")
Else
crtl.BackColor = RGB(255, 255, 255)
crtl = Format(crtl, "0.00")
End If
End Function
Hier definiere ich die Textboxen die davon betroffen sind:
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call TextBoxPrüfung(ActiveControl)
End Sub
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call TextBoxPrüfung(ActiveControl)
End Sub
Das ganze funktioniert sehr gut. Nur wenn ich um die Textboxen nachträglich einen Rahmen mache in der Userform (Frame1) zwecks der Übersichtlichkeit funktioniert der Code nicht mehr. Was und wie muss ich da ergänzen? Vorab besten Dank. Gruß
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Function innerhalb eines Frame
06.07.2018 12:20:19
Daniel
Hi
Frames sind im Prinzip Userforms in der Userform.
Wenn du eine Textbox im Frame aktivierst, ist das ActiveControl der Userform nicht die TextBox, sondern der Frame. Die Textbox ist dann das ActiveControl des Frames.
Du bekommst deswegen auch kein Exit-Event, wenn du von der Textbox im Frame auf ein Steuerelement außerhalb des Frames klickst, denn innerhalb des Frames behält die Textbox den Focus, nur der Frame verliert ihn.
Das ActiveControl eines Frames müsste dann auch über Me.ActiveControl.ActiveControl angesprochen werden.
Wenn du das Frame nur aus optischen Gründen verwendet, dann ersetzte es durch ein Label mit Rahmen ohne Hindergrund
Gruß Daniel
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige