Ich hoffe mal wieder auf eure Hilfe zu folgendem Sachverhalt:
Ich gebe in einer Zelle manuell Gültigkeitsdaten ein:
Eingegeben wird:
=BEREICH.VERSCHIEBEN(L0040_ME_L0040_A_INFO;;;ZÄHLENWENN(L0040_MV_L0040_A_INFO;"Y"))
Resultat: alles funktioniert wie gewünscht
Nun möchte ich den Vorgang automatisieren und habe mir dazu das Makro aufgezeichnet
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=BEREICH.VERSCHIEBEN(L0040_ME_L0040_A_INFO;;;ZÄHLENWENN(L0040_MV_L0040_A_INFO;""Y""))"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Lasse ich das Makro anschließend laufen kommt bereits eine Fehlermeldung: Laufzeitfehler 1004
Habe mir auch schon mal die Formel anzeigen lassen hier ergibt sich ein leichter Unterschied beim Y
Debug.Print Range("B2").Validation.Formula1
=BEREICH.VERSCHIEBEN(L0040_ME_L0040_A_INFO;;;ZÄHLENWENN(L0040_MV_L0040_A_INFO;"Y"))
Die gezeigte Formel entspricht hier meiner manuellen Eingabe
Hinweis:
Für meine Anwendung stelle ich mir den Formeltext zusammen. Habe hier auch schon diverse Möglichkeiten probiert & CHR(34) leider bisher alle negativ; alle bringen den Laufzeitfehler 1004
Dim formeltext
Formeltext = "=BEREICH.VERSCHIEBEN(L0040_ME_L0040_A_INFO;;;ZÄHLENWENN(L0040_MV_L0040_A_INFO;" & CHR(34) etc.
Hat da von euch noch jemand eine Idee was ich hier anpassen muss?
Viele Grüsse
mas