Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1152to1156
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
Kombinationsfeld mit msgbox + vbYesNo
Dietmar
Hallo zusammen
ich benötige ein weiteres Featur in meinem Progrämmle.
Ich habe ein Kombinationsfeld, dem ich eine Liste von Ziffern 1- 20 zugewiesen habe. Das Ergebnis der Auswahl wird in A1 gezeigt.
Dem Kombinationsfeldes habe ich nachfolgendes Makro zugewiesen.
Wie kann ich erreichen, dass die Dropdownauswahl NICHT ausgeführt wird, wenn ich auf NEIN klicke?
Der neue Wert in A1 soll also nur dann akzeptiert werden, wenn ich JA klicke.
Option Explicit
Sub Abfrage()
If MsgBox("Soll neuer Wert akzeptiert werden?", vbQuestion + vbYesNo, "Abfrage") = vbNo Then
MsgBox "NEIN", vbExclamation
End
Else
MsgBox "OK, neue Auswahl berücksichtigen"
End If
End Sub

Vielen Dank
Dietmar aus Aachen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Kombinationsfeld mit msgbox + vbYesNo
15.04.2010 16:20:35
Michael
Hallo,
der Code muss ins Click Ereignis der Combobox

Private Sub ComboBox1_Click()
If MsgBox("Soll neuer Wert akzeptiert werden?", vbQuestion + vbYesNo, "Abfrage") = vbNo Then
MsgBox "NEIN", vbExclamation
End
Else
[a1] = ComboBox1.Value
End If
End Sub
Grüße
Michael
AW: Kombinationsfeld mit msgbox + vbYesNo
15.04.2010 16:47:21
Dietmar
Hallo Michael,
vielen Dank!
Ich habe mich für den Code von NoNet entschieden.
Mit Value-Ergebnissen habe ich im Zshg. mit Klick-Ereignissen keine so guten Erfahrungen gemacht (funzt zu.B. bei Optionsfeldern nicht).
Viele Grüße
Dietmar aus Aachen
Abfrage Kombinationsfeld Wertaktualisierung
15.04.2010 16:28:31
NoNet
Hallo Dietmar,
ansatzweise köntest Du das so lösen (Name der ComboBox bitte anpassen !) :
Dim AlterWert 'Aktueller Wert der Zelle A1
Dim blnAlterWert 'Flag, ob AlterWert gerade zurückgeschrieben wird
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
WertSpeichern
End Sub
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
WertSpeichern
End Sub
Private Sub ComboBox1_Change()
If Not blnAlterWert Then Abfrage
End Sub
Sub WertSpeichern()
AlterWert = [A1].Value 'Aktuellen Wert der Zelle A1 speichern, sobald Kombinationsfeld  _
angeklickt wird
End Sub
Sub Abfrage()
If MsgBox("Soll neuer Wert akzeptiert werden?", vbQuestion + vbYesNo, "Abfrage") = vbNo  _
Then
'MsgBox "NEIN", vbExclamation
blnAlterWert = True
[A1].Value = AlterWert 'Gespeicherten Wert wieder in A1 zurück schreiben
blnAlterWert = False
Else
'MsgBox "OK, neue Auswahl berücksichtigen"
End If
End Sub
Gruß, NoNet
Anzeige
Ja, damit komme ich gut klar ...
15.04.2010 16:44:45
Dietmar
Hallo NoNet,
herzlichen DANK! Das erscheint mir zwar recht aufwendig, funktioniert aber bestens!
Allerdings bleibt der Inhalt der Combobox aktiviert (invers). Lässt sich das noch umgehen. Range("XY").select wäre ja möglich, ist aber wohl nicht die erste Wahl, oder?
Hast Du dafür noch eine Idee?
Viele Grüße
Dietmar aus Aachen

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige