Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: combobox change() - vorheriger Wert ermitteln

combobox change() - vorheriger Wert ermitteln
philipp
Guten Tag!
Ich möchte beim Auswählen einer Dropdownliste (Jan, Feb, ... Dez) mit einem Makro combobox change() den Inhalt einzelner Zellen auf dem Blatt löschen, wenn die Auswahl (= der Monat) verändert wurde. Bevor die Werte zurückgesetzt werden erscheint eine Messagebox, ob man das wirklich möchte "ja/Nein". Wenn ich nun "nein" klicke, wird zwar die Prozedur nicht ausgelöst, aber der zuvor ausgewählte Inhalt in der Dropdownliste ist natürlich verändert.
Gibt es eine Möglichkeit, den vorherigen Wert in der combobox wieder herzustellen?
Private Sub ComboBox1_Change()
Dim varAnswer As String
varAnswer = MsgBox("Are you sure that you want to delete all data?", vbYesNo, "Warning") _
_
If varAnswer = vbNo Then
'     =>> hier müsste eine Anweisung rein, die den vorherigen Wert in der Combobox  _
wiederherstellt...
Exit Sub
End If
Range("A1").ClearContents
End Sub

Vielen Dank für die Hilfe!
Philipp
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: combobox change() - vorheriger Wert ermitteln
09.12.2010 00:21:42
Uduuh
Hallo,
eine Möglichkeit:
Option Explicit
Dim iIndex As Integer
Private Sub ComboBox1_GotFocus()
iIndex = ComboBox1.ListIndex
End Sub
Private Sub ComboBox1_Change()
If MsgBox("Are you sure that you want to delete all data?", vbYesNo, "Warning") = vbNo Then
ComboBox1.ListIndex = iIndex
Else
Range("A1").ClearContents
End If
End Sub

Gruß aus’m Pott
Udo

Anzeige
AW: combobox change() - vorheriger Wert ermitteln
09.12.2010 00:36:59
CitizenX
Hallo Philipp
Ersetze mal die beiden Codes
Option Explicit
Dim myWert As String 'Variable ausserhalb der Prozedur zwischenspeichern
Private Sub ComboBox1_Change()
If ComboBox1  myWert Then
If MsgBox("Are you sure that you want to delete all data?", vbYesNo, "Warning") = vbYes  _
Then
Range("A1").ClearContents
Else
ComboBox1 = myWert
End If
End If
End Sub
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
myWert = ComboBox1
End Sub

Grüße
Steffen
Anzeige
AW: combobox change() - vorheriger Wert ermitteln
09.12.2010 01:12:11
philipp
Lieber Udo, Lieber Steffen,
vielen Dank für eure schnelle und kompetente Hilfe - beide Lösungen funktionieren perfekt!
Herzliche Grüsse aus der Schweiz,
Philipp
;

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