Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MsgBox

MsgBox
17.10.2018 09:34:48
Peter
Hallo ihr Excelspezialisten,
ich habe ein kleines Problem mit einer MsgBox Abfrage.
Am Ende der Listbox1 habe ich folgenden Code eingebaut:
If TextBox1 > "" And ListBox1.ListIndex > -1 Then
If MsgBox("Diesen Eintrag ändern oder löschen? ändern=ja - löschen=nein", vbYesNo) = vbYes Then
CommandButton1.Enabled = True
CommandButton1.BackColor = vbGreen
CommandButton1.SetFocus
Else
CommandButton4.Enabled = True
CommandButton4.BackColor = vbGreen
CommandButton4.SetFocus
End If
End If

Dieser funktioniert einwandfrei.
Ich hätte aber gerne, dass das Abbrechen mit eingebaut wird.
Dies geht mit:
MsgBox("Diesen Eintrag ändern oder löschen? ändern=ja - löschen=nein", vbYesNoCancel)
Was ich jedoch nicht zustande bringe, wenn Cancel= Abbrechen ausgewählt wird, möchte ich, dass der Listboxeintrag aufgehoben wird.
Könnt ihr mir bitte hierbei helfen.
Gruss
Peter

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox
17.10.2018 09:40:27
japes36
Hi,
If MsgBox("Diesen Eintrag ändern oder löschen? ändern=ja - löschen=nein", vbYesNoCancel) = vbYes
AW: MsgBox
17.10.2018 09:52:58
Peter
Hallo Japes,
Deine Mitteilung verstehe ich nicht.
Gruss
Peter
AW: MsgBox
17.10.2018 09:40:30
Nepumuk
Hallo Peter,
so?
    If TextBox1.TextLength > 0 And ListBox1.ListIndex > -1 Then
Select Case MsgBox("Diesen Eintrag ändern oder löschen? ändern=ja - löschen=nein",  _
vbYesNoCancel)
Case vbYes
CommandButton1.Enabled = True
CommandButton1.BackColor = vbGreen
CommandButton1.SetFocus
Case vbNo
CommandButton4.Enabled = True
CommandButton4.BackColor = vbGreen
CommandButton4.SetFocus
Case vbCancel
ListBox1.ListIndex = -1
End Select
End If

Gruß
Nepumuk
Anzeige
AW: MsgBox
17.10.2018 09:46:11
Peter
Hallo Nepumuk,
besten Dank für Deine Hilfe.
Der Listboxeintrag wird nicht aufgehoben.
Und die Msgbox wird zweimal aufgerufen.
Gruss
Peter
Listboxeintrag aufheben? hääämm?
17.10.2018 09:41:51
EtoPHG
Hallo,
Was verstehst du unter "der Listboxeintrag aufgehoben wird"?
Gruess Hansueli
AW: Listboxeintrag aufheben? hääämm?
17.10.2018 09:51:24
Peter
Hallo Hansueli,
ich wähle einen Listbox-Eintrag aus und übertrage den Wert in Textbox1.
Dies erfolgt mittels Listbox_Click. Ebenso folgt hierin der genannte Code.
Wenn nun in der MsgBox abbrechen gedrückt wird, soll nicht nur die MsgBox geschlossen werden, sondern auch die Listbox-Auswahl beenden werden.
Wenn ich den Eintrag mache
Case vbCancel
TextBox1 = ""
ListBox1.ListIndex = -1
dann wird zwar die Textbox geleert nicht jedoch in der Listbox die Markierung aufgehoben.
Gruss
Peter
Anzeige
.Selected(.ListIndex) = False
17.10.2018 09:56:46
Matthias
Hi
 With ListBox1
.Selected(.ListIndex) = False  'Eintrag nicht markieren
End With
Gruß Matthias
Selection der Listbox aufheben!
17.10.2018 10:03:25
EtoPHG
Hallo Peter,
Damit wird nicht der Listboxeintrag aufgehoben, sondern die Auswahl des Listboxeintrags!
ListBox1.Selected(ListBox1.ListIndex) = False

Gruess Hansueli
Wenn du etwas sagen willst, sage es klar, deutlich, verständlich und eindeutig!
AW: Selection der Listbox aufheben!
17.10.2018 10:51:34
Peter
Hallo Hansueli,
geht leider nicht.
Datei anbei: https://www.herber.de/bbs/user/124685.xlsm
Vielleicht geht es so besser.
Es handelt sich jetzt um Listbox1. Listbox2 wird entsprechend geändert, wenn Fehler behoben
Besten Dank für die Hilfe.
Gruss
Peter
Anzeige
Danke fürs ignorieren owT
17.10.2018 10:59:18
Matthias
AW: Sorry
17.10.2018 11:02:14
Peter
Hallo Matthias,
Du hast die gleiche Antwort gegeben.
Beide funktionieren nicht.
Ich wollte Dich nicht ignorieren, habe mir aber gedacht, dass Du siehst, dass auch die Antwort von Hansueli ebenfalls nicht funktioniert.
Sieh Dir doch bitte auch mal die hochgeladene Datei an.
Besten Dank
Gruss
Peter
AW: Selection der Listbox aufheben!
17.10.2018 11:06:26
Daniel
Hi
wenn du die Selektion einer Listbox änderst, wird das CLICK-Event immer ausgelöst, auch wenn du die Änderung per Code machst.
dein Click-Event soll aber nur Starten, wenn der Anwender einen Wert auswählt und nicht, wenn du die die Auswahl per Code wieder aufhebst.
Daher nimmst du statt CLICK besser das MOUSEUP-Event, das reagiert, wenn der Anwender mit der Maus einen Wert anklickt, aber nicht wenn du per Code die Listboxauswahl änderst.
Somit vermeidest du die doppelte Ausführung des Events.
mit dem MouseUp funktioniert dann auch das Listbox1.Listindex = -1 problemlos, zumindest solange du bei einer SingleSelect-Listbox bleibst.
Gruß Daniel
Anzeige
AW: Selection der Listbox aufheben!
17.10.2018 11:12:10
Peter
Hallo Daniel,
danke für Deine Information aber das Mouseup-Event kenne ich nicht.
Was müsste ich da in meiner Datei ändern und was ist wenn dies nicht mit der Mouse erfolgt sondern mit der Tastatur?
Gruss
Peter
AW: Selection der Listbox aufheben!
17.10.2018 11:22:10
Daniel
Hi
naja ändern müsstest du dass du das MouseUp-Event erstellst, den Code dort einfügst und dann das Click-Event löschst.
per Tastatur ist deine Listbox sowie so nicht zu bedienen.
es würde mit dem Klickevent bei jedem Druck auf eine Cursortaste sofort deine Abfrage erfolgen.
wenn die Listbox wahlweise per Tastatur oder Maus bedienen wollest, müsstest du das Click-Event komplett löschen und und dann auf der Userform zwei Buttons einfügen mit denen du das ÄNDERN oder LÖSCHEN auslöst.
Dann kann der Anwender in Ruhe den Eintrag auswählen und ggf auch die Auwahl ändern und die Aktion erst auslösen, wenn er sich sicher ist.
Dann brauchdt du auch keine Messagebox mit der Abfrage.
Das wäre meiner Ansicht nach komfortabler und auch sicherer.
Gruß Daniel
Anzeige
AW: Selection der Listbox aufheben!
17.10.2018 11:32:51
Peter
Hallo Daniel,
ich habe zwei Button "Daten ändern" und "Daten löschen".
Die Userform besteht aus Listbox und Textbox. Für neuen Datensatz wird Textbox gefüllt und dann Button "Daten neu" aktiviert.
Wird jedoch eine Änderung oder eine Löschung benötigt, wird Listbox gewählt und dann eben das Event Ereignis mit der Msgbox ja oder nein angezeigt.
Sinn meiner Abfrage ist, dass der User, welcher die Wahlmöglichkeit hat nicht einfach den Button drückt, sondern vorher nochmals entscheiden kann. Wird nämlich der falsche Eintrag gelöscht hat er ein Problem mit dem Programm.
Gruss
Peter
Anzeige
AW: Selection der Listbox aufheben!
17.10.2018 11:48:16
Daniel
genau das ist ja das Problem.
der Anwender wählt nicht aus "löschen / ändern / abbrechen", sondern "ja / nein / abbrechen" und muss dann im Text erst noch nachlesen, ob jetzt "ja=ändern" oder "ja=löschen" gilt.
Außerdem kommt die Abfrage sofort bei Auswahl eines Elements, dh auch wenn der Anwender ein falsches Element ausgewählt hat, kann er nicht einfach ein anderes Element auswählen, sondern muss erstmal deine Frage beantworten.
da finde dich den Weg über
- Auswahl des Elements ohne direkt Aktion
- Auswahl der Aktion
in zwei getrennten Schritten sicherer, weil du die Buttons dazu "richtig" beschriften kannst und die Aktion erst dann ausgelöst wird, wenn der Anwender das will und nicht automatisch.
du kannst dann ja trotzdem noch eine Sicherheitsfrage einbauen (Wollen sie wirklich löschen), dann passt auch das ja/nein der Messagebox.
Gruß Daniel
Anzeige
AW: Selection der Listbox aufheben!
17.10.2018 11:53:01
Peter
Hallo Daniel,
besten Dank für Deinen Hinweis.
Werde das nochmals überdenken.
Gruss
Peter
AW:erledigt
17.10.2018 11:17:12
Peter
Hallo Daniel,
vielen Dank für Deinen Hinweis und Deiner Hilfe.
Es klappt wunderbar.
Ich hatte mich schon gewundert, weil sich das Ganze über Klick ständig wiederholt hat. Hatte irgendwie das Gefühl es müsste etwas anderes geben - aber keinen Plan was.
Wünsche noch einen schönen Tag.
Gruss
Peter
Nicht erledigt! Lerne Debuggen in UF's! (owT)
17.10.2018 11:29:33
EtoPHG

AW: Nicht erledigt! Lerne Debuggen in UF's! (owT)
17.10.2018 11:49:29
Peter
Hallo Hansueli,
ich bin kein Programmierer(Profi) ich bin ein Laie der für einen Bekannten ein kleines Programm anfertigt.
Daher bin ich sehr dankbar, dass in diesem Forum mir so tatkräftig Hilfe geboten wird.
Gruss
Peter
Anzeige
Dazu musst du kein Profi sein.
17.10.2018 12:00:30
EtoPHG
Peter,
Aber ein bisschen mehr Eigeninitiative und das Forum nicht nur als Gratis-Selbstbedienungs-Laden zu betrachten, wäre mehr als angebracht. Sich mit den Werkzeugen vertraut zu machen und deren Gebrauchsanweisungen zu lesen, machen auch Hobby-Handwerker und nicht nur Profis.
Gruess Hansueli

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige