Microsoft Excel

Herbers Excel/VBA-Archiv

Datenüberprüfung/dropp down

Betrifft: Datenüberprüfung/dropp down von: Michael Fiedler
Geschrieben am: 29.10.2020 15:50:45

Hallo Leute

ich brauch wieder einmal die Hilfe des Kollektiv

Ich habe im Sheets("FILTER") eine Liste von Lagerartikeln mit dem jeweiligen Text (Beschreibung) des Artikels in Columns("V:V"), die ich immer wieder vorher gefiltert, also variabel in der Anzahl der Artikel, aus einem Sheets("ZMTFZ001_FORM") in das Sheets("FILTER") kopiere.

Vorher lösche ich die Spalte V mit

Columns("V:V").Select

Selection.Delete Shift:=xlToLeft

Aus dem Sheets("FILTER") kopiere ich dann mit

Sheets("FILTER").Select

Columns("O:O").Select

Selection.Copy

die Artikelbeschreibungen in

Sheets("EINGABE").Select

Columns("V:V").Select

Selection.Insert Shift:=xlToRight

Application.CutCopyMode = False

jetzt möchte ich eine Datenüberprüfung im Sheets("EINGABE") in der nächste freien Zelle in Spalte B mit drop down erzeugen, die nur den Zellbereich mit Inhalt, also ohne leere Zellen in Spalte V ausweist.

Dazu wollte ich dem variablen Zellbereich im Sheets("FILTER") Spalte "O" den Namen "FILTER" vergeben, in dem ich mit

Dim Artikel_aus_Vv As Long

Artikel_aus_Vv = Sheets("EINGABE").Range("V65536").End(xlUp).Row + 1

Sheets("EINGABE").Range("V" & Artikel_aus_Vv).Cells.Offset(0, 0).Select

Sheets("EINGABE").Range(Sheets("Eingabe").Range("V2"), ActiveCell.Offset(0, 0)).Select

den Zellbereich markiere um diesem dann den Namen "FILTER" zu vergeben.

Bis hier komme ich noch, der Zellbereich ist markiert, jetzt müsste ich den Namen vergeben.

Mein Macro macht das mit

ActiveWorkbook.Names.Add Name:="FILTER", RefersToR1C1:= _

"=EINGABE!R2C22:R367C22"

und hier liegt mein Problem, wie bekomme ich mein Programm dazu, den R367C22

aus RefersToR1C1:= "=EINGABE!R2C22:R367C22" variabel zu gestallten nämlich auf den Zellbereich den ich vorher über

Dim Artikel_aus_Vv As Long

Artikel_aus_Vv = Sheets("EINGABE").Range("V65536").End(xlUp).Row + 1

Sheets("EINGABE").Range("V" & Artikel_aus_Vv).Cells.Offset(0, 0).Select

Sheets("EINGABE").Range(Sheets("Eingabe").Range("V2"), ActiveCell.Offset(0, 0)).Select

ermittelt habe

Betrifft: AW: Datenüberprüfung/dropp down
von: Luschi
Geschrieben am: 29.10.2020 18:31:21

Hallo Michael,

versuch es mal so:
ActiveWorkbook.Names.Add Name:="FILTER", RefersToR1C1:= _
   "=EINGABE!R2C22:R" & Artikel_aus_V &"C22"


Gruß von Luschi
aus klein-Paris


PS: da 'RefersToR1C1' eine Textkette als Bereichsangabe erwartet, kann man diese auch zusammenstückeln!

Betrifft: AW: Datenüberprüfung/dropp down
von: Michael Fiedler
Geschrieben am: 02.11.2020 09:21:56

Hallo Luschi
aus klein-Paris

das hat super geklappt vielen Dank, das war genau das was ich gesucht habe.

ich wünsche eine schöne Zeit und bleib gesund

Gruß von Michael
aus Wiesbaden :):)