Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: GÜltigkeit mit Variable in VBA

GÜltigkeit mit Variable in VBA
Andre
Hallo,
ich habe ein Anwendungs oder Referenzobjektiven Fehler. Bei folgender Formel. Kann mir da jemand helfen?
Dim strFormel As String
For v = nTabelle1ZeileSTART To Zeilen
strFormel = "=INDIREKT($O" & v & ")"
With Cells(v, nTabelle1SpalteFBFunktion).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=strFormel
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Next v
Anzeige
AW: GÜltigkeit mit Variable in VBA
09.10.2009 10:50:11
Helmut
Hallo Andre
wahrscheinlich steht in $O&v kein für indirekt auswertbarer Bezug.
Gruß
Helmut
AW: GÜltigkeit mit Variable in VBA
09.10.2009 10:57:00
Helmut
und es muß heißen indirect, i.e. englische Schreibweise
AW: Gültigkeit mit Variable in VBA
09.10.2009 11:02:49
Andre
Das mit dem Indirekt müsste meines wissens an den unterschiedlichen Excel Versionen liegen. Aber dann würde es ja nicht funktionieren, wenn ich es zu Fuß eingebe
Anzeige
AW: Gültigkeit mit Variable in VBA
09.10.2009 11:41:42
Helmut
Das hat nichts mit der Excel Version zu tun. Bei Makro aufzeichnen werden die lokalen Formelbezeichnungen verwendet. Diese muß man aber anschließend in die Englischen transformieren. Soweit jedenfalls meine Erfahrungen.
AW: Gültigkeit mit Variable in VBA
09.10.2009 12:09:24
Andre
For v = nTabelle1ZeileSTART To Zeilen
mystring = "=Indirect($O" & v & ")"
Range(Cells(nTabelle1ZeileSTART, nTabelle1SpalteFBFunktion), _
Cells(Zeilen, nTabelle1SpalteFBFunktion)).Validation.Delete
With Range(Cells(nTabelle1ZeileSTART, nTabelle1SpalteFBFunktion), _
Cells(Zeilen, nTabelle1SpalteFBFunktion)).Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=mystring
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Next v
Range(Cells(Zeilen + 1, nTabelle1SpalteFBFunktion),_
Cells(65536, Tabelle1SpalteFBFunktion)).Validation.Delete
Dennoch meckert er wenn ich es so mache^^
Anzeige
AW: Gültigkeit mit Variable in VBA
09.10.2009 13:15:55
Andre
Hmm wenn man in deinem Programm aber das löschen vor die Schleife zieht, dann habe ich das Problem erneut.
AW: Gültigkeit mit Variable in VBA
09.10.2009 13:40:17
Andre
Ich hab das mal in einem Programm dargestellt. was ich vor habe. Damit das dnan vielleicht ein bisschen klarer wird.
https://www.herber.de/bbs/user/64989.xls
Anzeige
AW: Gültigkeit mit Variable in VBA
09.10.2009 14:05:19
Helmut
Das kann aber nicht alles sein.
Fehlerquellen im Beispiel:
- die Berechnung für mystring muß in die Schleife
- wie schon angemerkt steht in $O... kein für indirect verwertbarer Ausdruck, z.b. a1
- möglicherweise versuchst Du in der Schleife an einer Stelle eine Überprüfung anzulegen, wo schon eine existiert.
Ansonsten habe ich es ans laufen bekommen. https://www.herber.de/bbs/user/64990.xls
Gruß
Helmut
Anzeige
AW: GÜltigkeit mit Variable in VBA
09.10.2009 10:59:33
Andre
Nee das ist es leider nicht. Per Hand läuft es ja auch wunderbar.
Aber ich habe bei ner anderen Formel auch den gleichen Fehler:
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=WENN($AS$1=""Siemens"";KS;WENN($AS$1=""Moeller"";KM;""""))"

Anzeige
AW: GÜltigkeit mit Variable in VBA
09.10.2009 11:15:29
Helmut
was ist KM bzw. KS?
AW: GÜltigkeit mit Variable in VBA
09.10.2009 11:26:42
Andre
Das sind in meinem Fall definierte Namen
AW: GÜltigkeit mit Variable in VBA
09.10.2009 11:37:11
Andre
Frage ist noch offen
Irgendwie spinnt das Forum heute
Anzeige
AW: GÜltigkeit mit Variable in VBA
09.10.2009 11:26:49
Andre
Das sind in meinem Fall definierte Namen
AW: GÜltigkeit mit Variable in VBA
09.10.2009 11:26:25
Helmut
Unter der Annahme, dass KM und KS named areas sind, läuft es so
Selection.Validation.Delete
mystring = "=if($AS$1=""Siemens"",KS,if($AS$1=""Moeller"",KM,""""))"
With Selection.Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
mystring
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Anzeige
AW: GÜltigkeit mit Variable in VBA
09.10.2009 12:11:56
Andre
das läuft nun danke :D
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige