Spaltennummer finden für Array
01.09.2006 12:09:03
Alex
stoß grad wieder an die Grenzen meines VBA-Wissens und meiner Geduld.
In meiner Datei befinden sich Daten: Ressourcen (in Zeilen) und Charakteristika (in Spalten), die bei Vorhandensein im Kreuzungsfeld mit einem "x" gekennzeichnet werden. Mittels Kontrollkästchen möchte ich Filter ansteuern, die mir für das entsprechende Merkmal (Spaltenname=Kontrollkästchenname)nur die 'gekreuzten' heraussucht.
Bislang hab ich das so umgesetzt:
Private Sub chkMerkmal1_Change()
c = 0
Do
c = c + 1
Loop Until Cells(2, c).Value = "Merkmal1"
Merkmal1Filter = chkMerkmal1.Value
If Merkmal1Filter Then
Range("A1").AutoFilter _
Field:=19, _
Criteria1:="x"
Else
Range("A1").AutoFilter _
Field:=19
End If
End Sub
Da ich nicht alleiniger Anwender sein werden, kann es passieren, dass Spalten neu eingefügt werden. Somit würde sich die Spaltennummer ändern und der Filter wäre nicht richtig gesetzt.
Daher dachte ich mir, dass beim Initialisieren meines Formulars es sinnvoll wäre, die Spaltennummer für die Merkmale/Kontrollkästchen in ein Array einzulesen und dann von da aus darauf zugreifen zu können.
Keine Ahnung, ob das zu umständlich ist, aber ich wüßte sonst auch keinen Weg, wenn ich vermeiden will, es in die Change-Prozedur für jedes Kontrollkästchen zu schreiben.
Danke Alex