Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1200to1204
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 Bereich mit Makro ändern

Drop Down Bereich mit Makro ändern
Borat
Hallo zusammen,
ich bin noch ein VBA Anfänger und hoffe Ihr könnt mir helfen.
Ich habe eine Downdrop Liste die auf ein Datensatz zugreif(A1:L374).
Ich würde jetzt gern ein Makro haben das den Bereich der Downdrop Liste automatisch
auf die größe meines Datensatzes anpasst, weil im Datensatz können noch Zeilen hinzukommen.
Ich kann den Bereich so eingrenzen.
Worksheets("nach ADName").Range(Cells(1, 1), Cells(Cells.Find("*", searchdirection:=xlPrevious).Row, 12)).Select
Aber bekomm den Bereich einfach nicht in das Makro:
ActiveSheet.Shapes("Drop Down 1").Select
With Selection
.ListFillRange = "'nach ADName'!$A$1:$L$374"
.LinkedCell = "$A$1"
.DropDownLines = 25
.Display3DShading = False
End With
End Sub
Hoffe hier hat jemand eine Idee
Gruß
Borat
AW: Drop Down Bereich mit Makro ändern
11.02.2011 16:37:19
Beverly
Hi Borat,
definiere doch einen dynamischen Bereich mittels BEREICH.VERSCHIEBEN(), der sich automatisch an die Anzahl deiner Daten anpasst und gib diesen Bereich fest als ListFillRange an. Dann musst du nichts per VBA ändern.


AW: Drop Down Bereich mit Makro ändern
11.02.2011 17:32:46
Borat
Hey Beverly,
danke für deine schnelle Antwort aber kann du das mit dem Bereich.Verschieben() bitte nochmal erklären?
Die Formel sagt mir nichts und als ich es probiert hab bekamen bei mir nur Fehlermeldungen.
Ich versteh auch leider gar nicht wie ich diese formel hier anwenden kann.
Könntest du vll mal eine Beispiel Formel schreiben?
Vielen Dank
Gruß
Borat
Anzeige
AW: Drop Down Bereich mit Makro ändern
12.02.2011 10:16:34
Beverly
Hi Borat,
der Inhalt des DropDown-Listenfeldes E1 passt sich an die Anzahl der in Spalte F vorhandenen Einträge an:
Tabelle1
 EF
1ba
2  b
3  c
4  d
5  e
6  f

definierte Namen
Name Bezieht sich auf Tabelle Z1S1-Formel
Liste=BEREICH.VERSCHIEBEN(Tabelle1!$F$1;;;ANZAHL2(Tabelle1!$F:$F);1) =BEREICH.VERSCHIEBEN(Tabelle1!Z1S6;;;ANZAHL2(Tabelle1!S6);1)

Daten, Gültigkeit
Zelle Zulassen Daten Wert1 Wert2 Leere Zellen ignorieren Zellendropdown Titel Eingabemeldung Eingabemeldung Titel Fehler Fehlermeldung
E1Liste   =Liste     Wahr   Wahr          

Tabellendarstellung in Foren Version 5.38




Anzeige
AW: Drop Down Bereich mit Makro ändern
14.02.2011 12:05:29
Borat
Hey,
ich glaub ich hab mich etwas falsch ausgedrückt.
Was ich eigentlich wollte ist keine typische Downdrop liste sondern eine Kombinationsfeld,
dass ich als Auswahlliste benutze.
Ich benutz diese Auswahl auf einem anderen Worksheet um mir dann mit =INDEX nur die ausgewählte Zeile wiederzugeben.
Nur ändert sich der Bereich bei =INDEX und im Kombinationsfeld nicht automatisch wenn Daten hinzukommen.
Vll kann man alles auch anders lösen wie ich das versucht habe.
Ich bin da für jeden Änderungsvorschlag offen.
Mit dem Bereich.Verschieben kam ich hier leider nicht weiter.
Da man jetzt bei wahrscheinlich gar nicht mehr mitkommt habe ich ein Beispiel Datei hochgeladen wie
es im Moment aussieht.
https://www.herber.de/bbs/user/73536.xls
Gruß
Borat
Anzeige
AW: Drop Down Bereich mit Makro ändern
14.02.2011 13:56:13
Beverly
Hi Borat,
und wo liegt da das Problem, dass du bei dem Kombinationsfeld als Eingabebereich einen per Namen definierten Bereich verwendest, der sich dynamisch nach unten erweitert - so wie in dem geposteten Ausschnitt? Es spielt doch keine Rolle, ob das ein DropDown-Listenfeld aus der Gültigkeitsprüfung oder ein Kombinationsfeld aus der Formular-Symbolleiste ist. Die Formel in deinem Fall bezieht sich nur auf eine andere Spalte und ein anderes Tabellenlatt:
=BEREICH.VERSCHIEBEN('nach ADName'!$D$1;;;ANZAHL2('nach ADName'!$D:$D);1)


Anzeige
AW: Drop Down Bereich mit Makro ändern
14.02.2011 15:18:05
Borat
Hey Beverly,
danke das du mir versuchst zu helfen.
Mein Problem ist es funktioniert irgendwie nicht.
Wenn ich auf mein Kombinationsfeld (siehe Bsp. Datei oben) klick und den Bereich auf deine Formel
=BEREICH.VERSCHIEBEN('nach ADName'!$D$1;;;ANZAHL2('nach ADName'!$D:$D);1)
ändern will übernimmt Excel es einfach nicht.
Auch wenn ich den Bereich per VBA ändern will.
Sub Makro1()
Sheets("nach AD").Select
ActiveSheet.Shapes("Drop Down 3").Select
With Selection
.ListFillRange = "=BEREICH.VERSCHIEBEN('nach ADName'!$D$1;;;ANZAHL2('nach ADName'!$D:$D) _
_
;1)"
.LinkedCell = "$N$2"
.DropDownLines = 25
.Display3DShading = True
End With
End Sub

Bekomm ich keine Fehlermeldung er nimmt es nur einfach nicht an.
Ich schaff es auch nicht den Bereich in die INDEX Formeln einzubauen.
Anzeige
AW: Drop Down Bereich mit Makro ändern
15.02.2011 09:21:53
Beverly
Hi Borat,
nicht die BEREICH.VERSCHIEBEN-Forml dort eintragen sondern einen Namen definieren (z.B. Liste), bei dem du unter Bezieht sich auf diese Formel eingibst. Und im Konbinationsfeld trägst du als Eingabebereich ein: Liste


AW: Drop Down Bereich mit Makro ändern
15.02.2011 10:17:48
Borat
Hey,
wie soll ich das den definieren (Sorry bin noch ein VBA Anfänger)
Habs mal so probiert funktioniert aber nicht.
Dim Liste As Range
Liste.Formula = "=BEREICH.VERSCHIEBEN('nach ADName'!$D$1;;;ANZAHL2('nach ADName'!$D:$D);1)"
Gruß
Borat
Anzeige
VBA Anfänger hin und her...
15.02.2011 10:22:43
robert
Hi,
aber lesen kannst du doch-oder?
Beverly hat dir doch die lösung geschrieben:
Excel-Menü:
Einfügen-Namen-Definieren usw...
gruß
robert
AW: VBA Anfänger hin und her...
15.02.2011 10:48:00
Borat
Ahhhhh dankeschön. Hab mir schon gedacht das ich irgendwie auf dem Schlauch steh ^^
Hab noch nie im Excel Menü: Einfügen-Namen-Definieren verwendet deswegen wusste ich erstmal nichts damit anzufangen.
Jetzt klappts aber Wunderbar vielen Dank euch beiden.
Gruß
Borat

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige