Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.

Textbox Exit Event
#1
Hallo liebe Excelgemeinde,


noch eine Frage an euch! Smile

Mit folgenden Codes:
Code:
Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox4 = "" Then
TextBox5.BackColor = &HE0E0E0
Else
If TextBox5.Value <> "" Then
TextBox5.BackColor = &HE0E0E0
Else
TextBox5.BackColor = &HC0FFFF
End If
End If
'                                                         '  Spalte E:
End Sub

Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox4 = "" Then
TextBox6.BackColor = &HE0E0E0
Else
If TextBox6.Value <> "" Then
TextBox6.BackColor = &HE0E0E0
Else
TextBox6.BackColor = &HC0FFFF
End If
End If
'                                                        '  Spalte F:
End Sub

Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox4 = "" Then
TextBox7.BackColor = &HE0E0E0
Else
If TextBox7.Value <> "" Then
TextBox7.BackColor = &HE0E0E0
Else
TextBox7.BackColor = &HC0FFFF
End If
End If
'                                                        '  Spalte G:
End Sub

färbe ich die Textboxen beim Verlassen der Textboxen je nachdem ob ein Wert drin steht oder nicht!

Kann man das mit einer Schleife machen oder sowas? Und wie müsste es für Comboboxen heißen?


Vielen Dank im Voraus
LG
Alexandra
to top
#2
Hallo Alexandra,

Du meinst nicht für jede Textbox ein Exit-Ereignis sondern nur eins für Alle? Befinden sich die Textboxen in einer Userform oder einer Tabelle?
Gruß Stefan
Win 7 / Office 2007
to top
#3
Hallo Steffl,



danke für deine Antwort!

Die textboxen befinden sich alle in eine Userform!

Zum Hintergrund, mit einen anderen Code prüfe ich ob alle Textboxen in der Userform befüLlt sind, wenn leer dann werden die leeren Boxen gelb hinterlegt!

Mit dem Code in diesen Post möchte ich wenn ich eine dieser gelben Textboxen ein Wert eintrage und die Textbox dann verlasse, dass die Textbox dann wieder grau wird, das ist alles! Hoffe ist jetzt verständlicher!


Vielen Dank
VG
Alexandra
to top
#4
Hallo Alexandra,

da das Exit-Ereignis in einer Klasse nicht geht, habe ich mal als Notlösung den Vorschlag

Code:
Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   prxCysu TextBox5
End Sub

Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   prxCysu TextBox6
End Sub

Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   prxCysu TextBox7
End Sub

Sub prxCysu(txtTextbox As MSForms.TextBox)
   MsgBox txtTextbox.Name
   If TextBox4.Value = "" Then
      txtTextbox.BackColor = &HE0E0E0
   Else
      If txtTextbox.Value <> "" Then
         txtTextbox.BackColor = &HE0E0E0
      Else
         txtTextbox.BackColor = &HC0FFFF
      End If
   End If
End Sub

Das heißt neben den vielen Exit-Ereignissen ein Makro, wo die Textbox gefärbt wird.
Gruß Stefan
Win 7 / Office 2007
[-] Folgende(r) 1 Benutzer sagt Danke an Steffl für diesen Beitrag:
cysu11
to top
#5
Hallo Steffl,


dann werde ich das wohl so machen, ich dachte da gibt es was kürzeres! Smile


Vielen lieben Dank
LG
Alexandra
to top
#6
Hallo Alexndra,

die gleiche Anzahl der Codezeilen wie bei Stefan, aber trotzdem ein klein wenig
einfacher beim Codieren, da Du innerhalb des Ereignisses den Namen nicht anpassen musst:

Code:
Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    färbe (ActiveControl.Name)
End Sub

Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   färbe (ActiveControl.Name)
End Sub

Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   färbe (ActiveControl.Name)
End Sub

Sub färbe(txtBo As String)
   If TextBox4.Value = "" Then
      Me.Controls(txtBo).BackColor = &HE0E0E0
   Else
      If Me.Controls(txtBo).Value <> "" Then
         Me.Controls(txtBo).BackColor = &HE0E0E0
      Else
         Me.Controls(txtBo).BackColor = &HC0FFFF
      End If
   End If
End Sub
Gruß Atilla


...und ich gelobe Besserung...

to top
#7
Hallo Atilla,

das geht sogar ohne die Name-Eigenschaft. Einfach den Namen der Textbox durch ActiveControl ersetzen.
Gruß Stefan
Win 7 / Office 2007
[-] Folgende(r) 1 Benutzer sagt Danke an Steffl für diesen Beitrag:
cysu11
to top
#8
Hallo Stefan,

dann sag das doch gleich Idea
also dann so:

Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    färbe
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   färbe
End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   färbe
End Sub

Sub färbe()
   If TextBox4.Value = "" Then
      ActiveControl.BackColor = &HE0E0E0
   Else
      If ActiveControl.Value <> "" Then
         ActiveControl.BackColor = &HE0E0E0
      Else
         ActiveControl.BackColor = &HC0FFFF
      End If
   End If
End Sub
Gruß Atilla


...und ich gelobe Besserung...

[-] Folgende(r) 1 Benutzer sagt Danke an atilla für diesen Beitrag:
cysu11
to top
#9
Hallo Atilla, hallo Steffl,



damit kann ich wunderbar leben, so werde ich es machen!


Vielen vielen Dank euch zwei
LG
Alexandra
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  autocomplete textbox / Bezug Quelle soldblub 12 244 13.03.2017, 08:56
Letzter Beitrag: RPP63
  Textbox zählen, laufende Nr. vorgeben Pia 6 135 03.03.2017, 20:25
Letzter Beitrag: schauan
  Buchstabenanzahl pro Zeile in einer TextBox berechnen Wulfi 3 177 25.01.2017, 19:16
Letzter Beitrag: atilla
  Click Event bei TextBox auslösen Lupy 5 263 30.12.2016, 15:24
Letzter Beitrag: schauan
  TextBox / ComboBox aus UserForm entfernen nedial 29 960 28.12.2016, 13:20
Letzter Beitrag: Rabe
  Problem mit Exit-Ereignis einer Textbox Usedom 4 291 07.11.2016, 20:03
Letzter Beitrag: Usedom
  Userform: Anzeige der Textbox-Nummern Rabe 8 407 28.10.2016, 17:52
Letzter Beitrag: Gast 123
  Selektierte Werte in ListBox nacheinander in TextBox michel34497 3 345 08.10.2016, 13:00
Letzter Beitrag: michel34497
  Fokus zurück auf Textbox sharky51 9 589 23.09.2016, 21:30
Letzter Beitrag: sharky51
  Textbox via Vlookup füllen Tuempeltaucher 6 408 22.09.2016, 12:18
Letzter Beitrag: Tuempeltaucher

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste