Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1424to1428
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

Dropdownfeld per VBA automatisch aufklappen

Dropdownfeld per VBA automatisch aufklappen
04.05.2015 13:18:30
Martin
In Excel 2003 verwende ich diesen Code, um beim Anklicken einer Zelle automatisch das Dropdownfeld aufzuklappen und alle Einträge (definiert über Daten-Gültigkeit-Liste) anzuzeigen.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
'Hierdurch wird bei Aktivierung von Dropdownzellen Dropdown sofort automatisch aufgeklappt:
If ActiveCell.Validation.InCellDropdown = False Then Exit Sub
Application.SendKeys ("%{UNTEN}")
End Sub
Unter Excel 2010 funktioniert das nun das nun aber nicht mehr. Gibt es eine andere Lösung, die möglichst auch abwärtskompatibel ist?

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

Betreff
Datum
Anwender
Anzeige
AW: Dropdownfeld per VBA automatisch aufklappen
04.05.2015 13:32:58
Martin
ja, den hatte ich gefunden, aber die Lösung passt nicht ganz, da ich nicht jede Zelle einzeln angeben möchte.
Aber bei nochmaligem Hinsehen hatte ich eine Idee, die zur Lösung führte:
Anstelle von
Application.SendKeys ("%{UNTEN}")
muss
Application.SendKeys ("%{Down}")
in meinem Code benutzt werden, dann geht es. Jetzt muss ich nur noch klären, ob Down auch unter Excel 2003 funktioniert.
Mal ganz allgemein: In unserem Unternehmen steht ein Wechsel von Office 203/Outlook 2007 auf Office 2010 und Outlook 2010 an. Ich habe einige kleinere VBA-gestützte Excel-Anwendungen, die z.T. mit Outlook kommunizieren. Ob da große Probleme mit VBA-Anpassungen zu erwarten sind? Die Umstellung von Office 2000 auf Office 2007 in einem früheren Unternehmen war jedenfalls die Hölle...

Anzeige
AW: Dropdownfeld per VBA automatisch aufklappen
04.05.2015 23:39:32
Luschi
Hallo Martin,
Application.SendKeys ist seit Windows-Vista sehr stark betriebssystemabhängig!
So funktioniert bei mir mit Windows 8.1 der Vba-Befehl:
Application.SendKeys "%{DOWN}"
weder mit Excel 2003/2010 noch 2013
Deshalb mache es so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim wshShell As Object
On Error Resume Next
'Hierdurch wird bei Aktivierung von Dropdownzellen Dropdown sofort automatisch  _
aufgeklappt:
If ActiveCell.Validation.InCellDropdown = False Then Exit Sub
On Error GoTo 0
'ab Windows-Vista nicht mehr zuverlässig
'Application.SendKeys "%{DOWN}", False
Set wshShell = CreateObject("WScript.Shell")
wshShell.SendKeys "%{DOWN}", True
Set wshShell = Nothing
End Sub
Das klappt mit allen 3 oben aufgeführten Excel-Versionen.
Gruß von Luschi
aus klein-Paris
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige