Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Eingabe in Textbox unterdrucken

Eingabe in Textbox unterdrucken
30.12.2017 20:04:57
Nicole
Hallo zusammen
ich habe eine Problem und hoffe auf eure hilfe:
Private Sub Textbox1_Change()
If Textbox2 "" Then
Exit Sub
'es folgt weiterer Code, der ausgeführt wird bei Änderungen in Textbox1
End If
Dabei habe ich obigen Code: Wenn textbox2 NICHT leer ist soll nichts passieren (Exit) Sub... Meine Frage nun: Wie kann ich die Eingabe/Änderung die die Sub ausgelöst hat, verhindern bzw. nicht ausführen.
Sprich: Ich versuche den Inhalt zu ändern, dadurch wird die Sub ausgeführt, die Änderungen werden aber nicht ausgeführt.
Gibt es dazu eine Lösung ?
Vielen Dank schonmal
Gruß Petra
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabe in Textbox unterdrucken
30.12.2017 20:24:37
Sepp
Hallo Nicole,
probier mal.
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
  Case 1 To 47
    KeyCode = 0
  Case Else
End Select
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If TextBox2 = "" Then KeyAscii = 0
End Sub

Gruß Sepp

Anzeige
AW: Eingabe in Textbox unterdrucken
30.12.2017 20:33:07
Nicole
Hallo Sepp
vielen Dank für die Antwort.
Wie meinst du es genau?
Soll ich anstatt des Ereignisses Change das Keypress oder Keydown verwenden und den entsprechenden Code darin ergänzen?
Vielen Dank nochmal
Gruß Nicole
AW: Eingabe in Textbox unterdrucken
30.12.2017 20:47:01
Sepp
Hallo Nicole,
ja, allerdings den Code den ich hier gepostet habe.
Im Change-Ereignis kannst du eine Eingabe nicht verhindern.
Gruß Sepp

Anzeige
Sorry, natürlich so!
30.12.2017 20:31:08
Sepp
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If TextBox2 = "" Then KeyCode = 0
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If TextBox2 = "" Then KeyAscii = 0
End Sub

Gruß Sepp

Anzeige
AW: Sorry, natürlich so!
30.12.2017 21:00:59
Nicole
Hallo Sepp
hat super funktioniert DANKE.
gibt es das gleiche auch für Listen...
Sprich ich habe folgenden Code:
Private Sub Listbox_Click()
If Textbox2 "" Then
Exit Sub
'es folgt weiterer Code, der ausgeführt wird wenn ein Eintrag in angeklickt wird
End If
Funktion: Testbox 2 ist leer also soll die Aktion der Listbox nicht ausgeführt werden, Funktioniert auch soweit, jedoch wird danach der Eintrag markiert den ich angeklickt habe (wird aber nicht ausgeführt)
Gibt es eine Möglichkeit auch das zu verhindern, dass die Markierung also so bleibt wie sie vor dem Klick war...
Vielen Dank nochmal
Gruß Nicole
Anzeige
AW: Sorry, natürlich so!
30.12.2017 21:11:16
Sepp
Hallo Nicole,
Private Sub ListBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2 = "" Then ListBox1.ListIndex = -1
End Sub

Gruß Sepp

Anzeige
AW: Sorry, natürlich so!
30.12.2017 21:37:00
Nicole
Hallo Sepp
Wie kann ich das dann am besten mit dem click Ereignis der Listbox verbinden? Dein Code als eigener Sub schreiben und im click Ereignis aufrufen geht ja nicht ...
Vielen Dank nochmals für die vorherigen antworten
Gruß Nicole
AW: Sorry, natürlich so!
30.12.2017 21:49:38
Sepp
Hallo Nicole,
warum nicht so?
Private Sub ListBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2 = "" Then ListBox1.ListIndex = -1
End Sub

Private Sub ListBox1_Change()
If TextBox2 <> "" Then
  'Dein Code!
  MsgBox "Test" 'Zum testen!
End If
End Sub

Gruß Sepp

Anzeige
Klapp noch nicht
31.12.2017 10:24:53
Nicole
Guten morgen Sepp
sorry aber ich bins nochmal
Private Sub Lst_Firmenname_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Tx_min_Werkstückd  "" Or Tx_max_Werkstückd  "" Or Tx_max_Bearbeitungslänge  "" Or  _
Tx_MaßX  "" Or Tx_MaßY  "" Or Tx_MaßZ  "" Or _
Tx_Bemerkungen  "" Then
Lst_Firmenname.ListIndex = -1
Else
End If
End Sub

'
Private Sub Lst_Firmenname_Click()
If Textbox1 = "" And Textbox2 = ""  Then
Else
MsgBox "Sie müssen erst ihre Eingaben rechts speichern bzw. die Eingaben löschen, um die  _
Lieferantenauswahl in der Liste zu ändern.", vbOKOnly + vbExclamation, _
"Listenänderung nicht möglich"
Exit Sub
End If
'Code der bei klick ausgeführt werden soll
End Sub
Irgendwie funktioniert es noch nicht so richtig... obigen Code habe ich geschrieben.
Hast du da noch eine Idee an was es liegen könnte?
Gruß Nicole
Anzeige
AW: Klapp noch nicht
31.12.2017 10:54:01
Sepp
Hallo Nicole,
was heißt "funktioniert nicht richtig"?
Wann soll die Listbox NICHT ausgewählt werden können?
Wann soll dein Code ausgeführt werden?
Gruß Sepp

Anzeige
AW: Klapp noch nicht
31.12.2017 11:00:11
Nicole
Hallo Sepp
sorry für meine ungenaue Erklärung
Ziel: Wenn die TextBoxen NICHT leer sind soll bei klicken auf ein Eintrag in Liste die Msgbox erscheinen. Gleichzeitig soll der Eintrag der vor dem Klicken markiert/ausgewählt war, immernoch markiert sein und nicht der, auf den geklickt wurde bevor die Msgbox kommt
Bis jetzt kommt zwar die Meldung, aber der angeklickte Eintrag wird noch ausgewählt und Wie es sein soll: nicht ausgeführt.
Es fehlt also nur noch, dass der neue Eintrag nicht angewählt wird und der Alte markiert bleibt...
Ich hoffe das Problem ist eindeutig.
Vielen Dank
Gruß
Nicole
Anzeige
AW: Klapp noch nicht
31.12.2017 11:29:23
Sepp
Hallo Nicole,
kannst du deine Datei hochladen? Mit deinem Code, so wie dun ihn jetzt probiert hast.
Gruß Sepp

Datei hochgeladen
31.12.2017 12:08:23
Nicole
Hallo
https://www.herber.de/bbs/user/118585.xlsm
Hier die Datei. Es wäre toll wenn du sie dir mal angucken kannst.
Gruß Nicole
Anzeige
AW: Datei hochgeladen
31.12.2017 16:46:44
Nicole
Hallo Sepp
Vielen Dank es hat endlich geklappt!!
Danke
Nicole
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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