Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1188to1192
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

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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige