Tabellenfunktion INDIREKT() in VBA
04.10.2004 17:50:46
Sebastian
Ich habe das Problem, die Tabellenfunktion INDIREKT "dynamisch" in vba zu übernehmen.
Situation: Bei Ausführen dieser Prozedur wird im selektierten Feld eine abhängige Drop-Down-Liste erzeugt, im Moment abhängig von E3. Die Liste greift indirekt über E3(.Range("E3").Value = Wert) auf einem Wertebereich zu(.Range("A1:A5").Name = Wert)
das funktioniert auch alles und sieht so aus:
Sub DropDown()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=INDIRECT(E3)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Problem: Ich möchte gerne nicht immer auf eine feste Zelle zugreifen(wie E3), sondern auf eine Zelle links neben der aktuell selektierten Zelle. Jetzt habe ich das Problem, die Zelle E3 in dem oben gezeigten programm durch eine variable zu ersetzen. Schreibe ich z.B. Formula1:=aktZelle, wobei jetzt aktZelle Range("E3") (Value = Wert) entspricht, steht in der Drop-Down-Liste nur der Text "Wert" zur Verfügung. Es fehlt der Bezug zu dem Wertebereich (A1:A5), den ich über die Funktion INDIRECT noch hatte.
Kann mir bitte jemand helfen und mir einen vorschlag machen, wie ich über eine beliebige Zelle(mit value = Wert)auf den Wertebereich mit dem Namen "Wert" (s.o.) zugreifen kann?
Freu mich über gute Vorschläge.
Gruß Sebastian