ich bin schon seit einiger Zeit am tüfteln.
Ich füge per VBA in Zelle I22 des Tabellenblatts "Einstellbericht", je nach Bedingung einer anderen Zelle, eine Dropdownliste aus dem Tabellenblatt "Dropdown" ein oder eine Formel. Dazu verwende ich folgenden Code im Worksheet_Change:
If Target.Row = 20 And Target.Column = 9 Then
If Range("I20") = "31750006" Then
With Worksheets("Dropdown")
.Range(.Cells(3, 1), .Cells(4, 1)).Name = "Liste"
End With
With Worksheets("Einstellbericht").Range("I22").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Else
' Formel wird eingefügt
End If
Das funktioniert auch soweit. Wenn ich jetzt aber den Blattschutz aktiviere (die Zelle, wo die Dropdownliste eingefügt wird ist nicht gesperrt), bekomme ich eine Fehlermeldung wenn in I20 31750006 eingefügt wird, also wenn die Dropdownliste eingefügt werden soll:
Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler
Der Debugger markiert folgende Zeilen:
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste"
Kann mir jemand sagen, wo das Problem ist?
Grüße,
Willi