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

Drop Down Liste im VBA

Drop Down Liste im VBA
24.11.2022 10:58:03
Joel
Hallo,
ich habe ein kleines Problem. Ich will über ein Makro eine Reihe hinzufügen und in eine Zelle eine DropDown Liste anlegen.
Hierfür nutze ich folgenden Code:
ActiveCell.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="In,Out"
Wenn ich das Makro ausführe, funktioniert eigentlich alles. Die DropDown Liste wird auch in die Zelle eingetragen und trotzdem lande ich im Debugger mit dem Laufzeitfehler '1004'.
Kann mir einer sagen, was ich da falsch mache?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drop Down Liste im VBA
24.11.2022 11:10:30
ChrisL
Hi
Womöglich besteht schon eine Gültigkeitsprüfung.

ActiveCell.Validation.Delete
ActiveCell.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="In,Out"
cu
Chris
AW: Drop Down Liste im VBA
24.11.2022 11:25:59
Joel
Ah super, ja das hab ich tatsächlich missachtet. Vielen Dank.
Jetzt stehe ich vor dem nächsten Problem.
Eine Zelle weiter soll eine weitere Drop Down Liste eingefügt werden aber diesmal eine bedingte.
ActiveCell.Validation.Delete
ActiveCell.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="=Indirect(" & Cells(aktz, 8).Address & ")"
Hier kommt jetzt wieder der gleiche Fehler.
Was könnte da das Problem sein?
Anzeige
AW: Drop Down Liste im VBA
24.11.2022 11:31:44
Rudi
Hallo,
die Formel für die Prüfung müssen in der jeweiligen Landessprache sein.
Für Deutsch also INDIREKT()
Gruß
Rudi
AW: Drop Down Liste im VBA
24.11.2022 11:34:09
Joel
Ach klar, natürlich.
Vielen Dank
Grüße
Joel
AW: Drop Down Liste im VBA
24.11.2022 11:36:47
Joel
Der Fehler besteht aber leider weiterhin.
AW: Drop Down Liste im VBA
24.11.2022 11:41:25
Oberschlumpf
der Parameter Type:=xlValidateList erwartet eine LISTE von Werten, du lieferst aber eine FORMEL
erstell also zuerst z Bsp mit Hilfe einer Variablen, die Liste deiner Werte, die sich aus deiner Formel ergeben soll - und weise dann .Validate die Variable zu
AW: Drop Down Liste im VBA
24.11.2022 12:54:28
Joel
Hm, ich bin mir nicht ganz sicher ob ich verstehe wie du das meinst.
Vielleicht ist aber auch nicht klar was ich hier versuche.
Ich erstelle zunächst in Zelle A8 eine Liste also:
ActiveCell.Validation.Delete
'ActiveCell.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="Intern,Extern"
Dann will ich in Zelle A9 eine bedingte Liste zu der in Zelle A8. Also:
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=INDIREKT(" & Cells(1, 8).Address & ")"
End With
Ich habe natürlich Tabellen angelegt, die "Intern" und "Extern" heißen, dessen Werte sich die bedingte Liste dann ziehen sollte.
Anzeige
AW: Drop Down Liste im VBA
24.11.2022 13:43:28
Oberschlumpf
Hi,
Formula1:="=INDIREKT(" & Cells(1, 8).Address & ")"
der fette Teil ist eine FORMEL!
ActiveCell.Validation.Add Type:=xlValidateList
hier wird durch den fetten Teil bestimmt, dass die gesamte Befehlszeile eine LISTE erhält (durch Kommata getrennt)
entweder änderst du die Auswahl für TYPE (wobei ich gerad nicht weiß, ob Formeln auch möglich sind; hab dies aber nicht getestet), oder du änderst deine FORMEL wie gesagt um in eine LISTE von Einträgen, die du - vorher mit Hilfe - deiner Formel ermittelst.
Ich persönlich mag es nicht so gern, nur aufgrund von Vermutungen und/oder geraten VBA-Codes zu erstellen.
Ich denke, sehr hilfreich könnte es sein, wenn du uns per Upload eine Bsp-Datei zeigst, die alles Notwendige enthält, damit man dein Problem auch selbst sehen kann.
Ciao
Thorsten
Anzeige
AW: Drop Down Liste im VBA
24.11.2022 11:13:36
Rudi
Hallo,
löschst du die GP auch vorher? Sieht nicht so aus.
ActiveCell.Validation.Delete
ActiveCell.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="In, Out"
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige