Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1440to1444
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

Dropdown mit VBA bitte helft mir

Dropdown mit VBA bitte helft mir
17.08.2015 11:03:15

Hallo,
Ich bin leider vollkommener Neuling im Umgang mit VBA und bräuchte mal eure Hilfe...
Also folgendes: In meiner einen Arbeitsmappe (Mappe 1) befindet sich eine Tabelle mit Textwerten. Die Spalte ist fest (Spalte C), jedoch kann sich die Anzahl der Zeilen verändern, wo die Liste steht.
Nun möchte ich in einer anderen Arbeitsmappe (Mappe 2) ein Dropdown-Feld anlegen, das auf diese Werte zugreift.
Ich habe versucht mit VBA selbst einen Code zu schreiben, jedoch wird bei der Dropdown-Auswahl immer nur #N/A angezeigt. Bitte helft mir
ich habe zuerst in Mappe 1 eine Formel eingefügt, die die Anzahl der Werte in der Liste ermittelt. Diese steht in Zelle D1.
Mein Code sieht so aus:
Sheets("Mappe 1").Activate
Dim i As Long
Dim j As Long
i = 1
While Not (Cells(i, 3)"größer als" Cells("D1").Value)
(das größer als - Zeichen kann irgendwie hier nicht dargestellt werden)
i = i + 1
Wend
j = i + Range("D1").Value
Range(Cells(1, 3), Cells(j, 3)).Select
ActiveWorkbook.Names.Add Name:="Liste", RefersToR1C1:= _
"='Mappe 1'!R[1]C[3]:R[" & j & "]C[3]"
Sheets("Mappe 2").Activate
Cells(1, 1).Select
With Selection.Validation
.Delete
.Add Type:=x1ValidateList, AlertStyle:=x1ValidAlertStop, Operator:= _
x1Between, Formula1:=Liste
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Der Fehler wird immer in dieser Zeile: .Add Type:=x1ValidateList, AlertStyle:=x1ValidAlertStop, Operator:= _
x1Between, Formula1:=Liste angezeigt.
Da wo die Schrift fett ist, wird immer der Fehler angezeigt.
Ich hoffe, ihr habt mein Problem verstanden und könnt mir weiterhelfen
Schon mal vielen Dank

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdown mit VBA bitte helft mir
17.08.2015 11:23:17
SF
Hola,
nicht vergessen in den Foren auf das jeweilige andere Forum hinzuweisen.
Gruß,
steve1da

AW: Dropdown mit VBA bitte helft mir
17.08.2015 11:38:47
Rudi Maintaire
Hallo Namenloser,
es muss
xlValidateList, xlValidAlertStop, xlBetween
heißen. Du hast eine 1 drin statt einem l (Eins statt L)
Gruß
Rudi

dynamischer Namensbereich
17.08.2015 12:02:36
RPP63
Hallo!
Suche mal nach "excel dynamischer namensbereich".
Dafür brauchst Du kein VBA.
Gruß Ralf

Sorry Rudi, falscher "Ast" owT
17.08.2015 12:03:33
RPP63

AW: Dropdown mit VBA bitte helft mir
17.08.2015 13:16:51
Matthias
Hallo User,
zunächst vornweg eine Frage:
Du beziehst dich hier auf "Mappe 1" und "Mappe 2". Aus deinem Code heraus ergibt sich die Annahme, dass du hier von zwei Tabellenblättern und nicht zwei verschiedenen Arbeitsmappen (Excel-Dokumenten) redest, richtig?
"&_gt" bzw. "&_lt (ohne Unterstrich) ergeben übrigens ">" bzw. "<"
Abgesehen davon, dass deine Berechnung von i und j für mich nicht nachvollziehbar ist, sind darin zwei Fehler versteckt:
 While Not (Cells(i, 3).??? > Cells("D1").Value) 

"???" musst du durch ".Value", ".Row" oder welche Information der Zelle du auch immer haben willst ersetzen.
"Cells" funktioniert nur mit Koordinaten, du benötigst hier "Range("D1").Value"
Die Berechnung von i und j kannst du durch eine Messagebox anzeigen lassen und prüfen bevor du weitermachst.
 MsgBox "i: " & i & "   j: " & j

Die eckigen Klammern bedeuten einen relativen (inkrementalen) Bezug.
"='Mappe 1'!R[1]C[3]:R[" & j & "]C[3]"

Du markierst vorher C1 bis C&j und gehst von dort +3 Spalten (C[3]) nach rechts und landest in Spalte F, wodurch dein Bereich deine Dropdown auf leere Zellen verweist. i ist nach den gleichen Prinzip verkehrt (kannst du im Namens-Manager übrigens prüfen was rauskommt, wenn du alle Fehler in Folgezeilen erstmal als Kommentar ausblendest). Einfach die Klammern rauslöschen und du erhältst einen absoluten Bezug.
Des weiteren ändere bitte
 x1Between, Formula1:=Liste 
in
 x1Between, Formula1:="=Liste"
Beim testen funktioniert das Anlegen von Bereich und Dropdown soweit (abgesehen davon dass ich i und j willkürlich festgelegt hab').
mfg Matthias

Anzeige
AW: Dropdown mit VBA bitte helft mir
18.08.2015 08:14:06
Vielen Dank. Jetzt läuft es super

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige