Kann man die Filterung vereinfachen?
03.03.2008 21:32:00
Alex
ich habe ein Makro das nichts anderes macht, als den Autofilter in Excel zu benutzen, es sucht sich die Spalte, und danach den Wert der gefilter wird, und kopiert die Daten dann in ein extra Sheet. Diese Infos lese ich dann in eine ListBox ein. Da meine Sheets ziemlich umfachreich sind, wollt ich fragen, ob ich das auch etwas einfacher lösen könnte? Hier mein Code (ausschnitsweise für eine Spalte):
Private Sub CommandButton3_Click()
'Aktivieren des Autofilters
Sheets("Anamnese").Activate
If Not ActiveSheet.AutoFilterMode = True _
Then Range("A1").AutoFilter
If ComboBox1.Value = "" Then
MsgBox ("Filter Nr.2 fehlt!"), vbCritical
Exit Sub
End If
Dim f As Variant
f = Filter.Filter1.Value
Dim c As Variant
c = Filter.ComboBox1.Value
Dim z As Variant
Filterergebnis.TextBox1.Text = Filter.Filter1.Value
Filterergebnis.TextBox2.Text = Filter.ComboBox1.Value
'Autofilter aktivieren und auswählen für Gewicht
If Filter.Filter1.Value = "Gewicht" Then
Selection.AutoFilter _
Field:=3, Criteria1:=Filter.ComboBox1.Value
Sheets("Anamnese").Activate
Range("B:B").Copy
Sheets("Tabelle6").Activate
Range("A1").Select
ActiveSheet.Paste
'Füllen der Listbox mit entsprechenden Namen
Sheets("Tabelle6").Activate
i = ActiveSheet.UsedRange.Rows.Count
With Filterergebnis.ListBox1
.ColumnCount = 3
.ColumnHeads = True
.RowSource = "Tabelle6!A2:A" & i
.ColumnWidths = "4cm;0cm;0cm"
End With
'Sheets("Tabelle6").Visible = False
Filterergebnis.Show
Exit Sub
End If
End Sub