Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in 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

Excel 2007
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

Excel 2007
[-] 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
  Problem mit Exit-Ereignis einer Textbox Usedom 4 83 07.11.2016, 20:03
Letzter Beitrag: Usedom
  Userform: Anzeige der Textbox-Nummern Rabe 8 153 28.10.2016, 17:52
Letzter Beitrag: Gast 123
  Selektierte Werte in ListBox nacheinander in TextBox michel34497 3 145 08.10.2016, 13:00
Letzter Beitrag: michel34497
  Fokus zurück auf Textbox sharky51 9 323 23.09.2016, 21:30
Letzter Beitrag: sharky51
  Textbox via Vlookup füllen Tuempeltaucher 6 179 22.09.2016, 12:18
Letzter Beitrag: Tuempeltaucher
  Userform TextBox Formatierung RetroGen 5 239 23.08.2016, 08:52
Letzter Beitrag: RetroGen
  Optimale Höhe der Textbox einstellen VBATartar 2 263 12.07.2016, 13:37
Letzter Beitrag: VBATartar
  Änderung an Textbox und dann Listbox aktualisieren sandormiles 2 280 27.05.2016, 17:45
Letzter Beitrag: sandormiles
  Uhrzeit mit mit ner Zahl aus Textbox adieren will dazu lernen 21 908 13.05.2016, 20:16
Letzter Beitrag: will dazu lernen
  combobox und textbox will dazu lernen 2 271 01.05.2016, 20:01
Letzter Beitrag: will dazu lernen

Gehe zu:


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