Microsoft Excel

Herbers Excel/VBA-Archiv

Gültigkeit

Betrifft: Gültigkeit von: Petra
Geschrieben am: 14.08.2008 15:10:05

Schönen Tag allerseits
eine etwas merkwürdige Frage:
Ausgangslage: eine große mehrspaltige Tabelle.
ich brauche für diverse Zeilen in den verschiedensten Spalte diverse Eingabegültigkeitsprüfungen.
Normalerweise kein Problem, ich vergebe für die relevanten Zellen eben die Gültigkeit (Verweis auf div. Listen).
Nachteil: aufgrund der großen Tabelle und der zahlreichen Gültigkeiten bläht sich der Speicherbdarf doch ganz beträchtlich auf.
Meine Schnapsidee: könnte man nicht mittels Ereignisprozedur (Selection Change) in der jeweiligen angewählten Zelle eine Gültigkeit per VBA hinterlegen, die beim Verlassen der Zelle wieder elimeniert wird!?
Auf welchen Zellen das ganze stattfinden sollte, könnte man ja mit INTERSECT eingrenzen.
Hat jemand eine schlaue Idee?
Liebe Grüße Petra

  

Betrifft: AW: Gültigkeit von: Tino
Geschrieben am: 14.08.2008 15:33:33

Hallo,
eventuell müsste es so gehen.
Als Code ins entsprechende Tabellenblatt.

Beispiel:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'alle Gültigkeiten löschen
Cells.Validation.Delete
'Dein Zellen mit Gültigkeit
If Not Intersect(Target, Range("A1,A10,A20,A30")) Is Nothing Then
     With Target.Validation
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="Test1,Test2,Test3" 'Deine Liste
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
   
    End With
End If
End Sub



Gruß Tino


  

Betrifft: AW: Gültigkeit von: Petra
Geschrieben am: 14.08.2008 15:38:29

Hallo Tino
zuerst einmal DANKE, ich werde mir das mal zu Gemüte führen und mal ein Testszenario aufbauen.
Doch für heute mach ich langsam Schluss(Feierabend) und morgen ist Feiertag. Also erst wieder am Montag (oder von zu Hause aus).
Ich lasse die Frage jedoch trotzdem mal auf offen, damit sie nicht unbeachtet bleibt.
Liebe Grüße Petra