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

Spaltennummer finden für Array

Forumthread: Spaltennummer finden für Array

Spaltennummer finden für Array
01.09.2006 12:09:03
Alex
Hallo,
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
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltennummer finden für Array
01.09.2006 19:03:06
ChrisL
Hallo Alex
Falls ein Merkmal hinzukommt, müsstest du auch die Anzahl CheckBoxen verändern, deshalb ein Gegenvorschlag mit ComboBox.
https://www.herber.de/bbs/user/36352.xls
Gruss
Chris

Private Sub ComboBox1_Change()
With Worksheets("Tabelle1")
.Cells.AutoFilter
If ComboBox1 <> "" Then .UsedRange.AutoFilter Field:=ComboBox1.ListIndex + 1, Criteria1:="x"
End With
End Sub


Private Sub CommandButton1_Click()
Unload Me
End Sub


Private Sub UserForm_Initialize()
Dim iSpalte As Integer
With Worksheets("Tabelle1")
.Cells.AutoFilter
For iSpalte = 1 To .Range("IV1").End(xlToLeft).Column
ComboBox1.AddItem Cells(1, iSpalte)
Next iSpalte
End With
End Sub

Anzeige
AW: Spaltennummer finden für Array
05.09.2006 10:32:27
Alex
Besten Dank Chris,
hab jetzt eine andere Lösung gefunden, die sich ganz gut macht und auch meine Anwender zufrieden stellt. Dennoch ist es immer super, andere Vorschläge anzusehen!!!
Vielen Dank
;

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