Microsoft Excel

Herbers Excel/VBA-Archiv

Validierung mit Variablen | Herbers Excel-Forum


Betrifft: Validierung mit Variablen von: Thomas S.
Geschrieben am: 05.01.2012 15:05:16

Hallo weltbestes Forum

ich möchte in einem Code folgenden Befehle für die Validierung eine Zelle benutzen.
An Stelle der 1 in der Listenbezeichnung "Liste1" möchte ich wie sonst üblich statt der 1 eine Variable einbauen, " & i & ". Funktioniert ab hier nicht ...

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste1"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste" & i & ""
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

vielleicht kann mir jemand auf die Sprünge helfen. In der Hilfe habe ich bis jetzt nichts gefunden.

VG Thomas S.

  

Betrifft: Formula1:="=Liste" & i owT von: Rudi Maintaire
Geschrieben am: 05.01.2012 15:29:21




  

Betrifft: AW: Formula1:="=Liste" & i owT von: Thomas S.
Geschrieben am: 05.01.2012 15:57:18

Servus Rudi

was meinst Du mit "owT" wenn ich fragen darf?

FG Thomas


  

Betrifft: owT=ohne weiteren Text. owT von: Rudi Maintaire
Geschrieben am: 05.01.2012 16:15:14




  

Betrifft: AW: owT=ohne weiteren Text. owT von: Thomas S.
Geschrieben am: 05.01.2012 16:51:49

Vielen Dank für den Hinweis.

Es funktioniert weder in der einen, noch in der anderen Schreibweise.

VG Thomas S.


  

Betrifft: AW: geht doch von: hary
Geschrieben am: 05.01.2012 17:02:48

Hallo
Wie bzw. als was hast Du i deklariert? Welchen Wert hat i ?

Dim i As Long
i = 1
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste" & i
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

gruss hary


  

Betrifft: AW: geht doch von: Thomas S.
Geschrieben am: 05.01.2012 19:04:26

Hallo hary

i hat bei mir die 1.

Aber ich denke ich habe noch ein anderes Problem. Die Function, in der ich das programmiert habe funktioniert mal und mal nicht.
Es kommen dann Meldungen die ich nicht zuordnen kann. Kann es sein, dass irgend eine Grundeinstellung im Excel nicht richtig eingestellt ist. Zu Hause mit Win7 und Office 2010 geht es ohne Probleme, wie gewohnt.

VG Thomas S.


  

Betrifft: AW: geht doch von: hary
Geschrieben am: 06.01.2012 06:07:13

Hallo

Es kommen dann Meldungen die ich nicht zuordnen kann

Kann keiner hier im Forum, da nur Du diese siehst und uns nicht zeigst.
gruss hary


  

Betrifft: Abschluss mit Erfolg von: Thomas S.
Geschrieben am: 06.01.2012 13:59:40

Vielen Dank für Eure Mithilfe!

Am Ende habe ich hier im Forum einen Artikel entdeckt, wo ein änliches Problem diskutiert wurde. Eine der Forumskollegen hat da entnerft gemeint: '... nimm einfach mal ein neues Blatt! Das Alte scheint einen Knick zu haben ...'

Genau das war der Fall. Ich habe eine neuen Datei angelegt die Inhalte der Blätter kopiert, den Code seperat kopiert und übertragen. Alle Listen neu angelegt und siehe da alles, aber auch alle vorgeschlagenen Lösungen und meine alte:

a.Range("B34:C34").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Liste" & i

funktionieren alle.

Wenn ich zurück überlege, was ich gemacht habe, fällt mir nur ein, dass ich aus einer alten Datei ein ähnliches Blatt kopiert und eingefügt habe. Dann habe ich die Tabellenbezeichnungen im Editor geändert ... und ich arbeite mit verschiedenen Versionen O2010 O2007 und O2003.

Na ja, nach ca 8 Stunden Ärger, überwiegt das Erfolgserlebnis.

Viele Grüße und Danke nochmal.
Thomas S.


Beiträge aus den Excel-Beispielen zum Thema "Validierung mit Variablen"