Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Autofilter auf Zeilen

Betrifft: Autofilter auf Zeilen von: Peter
Geschrieben am: 17.08.2004 09:09:51

Hi,

ich suche eine Filterfunktion, mit der man in einer Matrix auch Spalten filtern kann (mit dem Autofilter geht das meines Wissens ja nur für Zeilen?). Über Filter ausgewählt werden soll bspw. die Spalte d.

__a b c d e f
1
2
3

Hat jemand eine Idee?

Peter

  


Betrifft: AW: Autofilter auf Zeilen von: nighty
Geschrieben am: 17.08.2004 15:44:46

hi peter :)

erste makro
spaltenfilter in wechselwirkung auf die erste zeile bezogen

zweite makro
spaltenfilter in wechselwirkung auf die gesammte tabelle bezogen

gruss nighty :))

Option Explicit
Sub makro01()
Application.EnableEvents = False
Dim LastCell, spaltende, zaehler0, zaehler1, wert01
If Range("A1:IV1").EntireColumn.Hidden = True Then
Range("A1:IV1").EntireColumn.Hidden = False
End
End If
Range("A1:IV1").EntireColumn.Hidden = False
wert01 = InputBox("Suchbegriff")
If wert01 = "" Then End
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
spaltende = LastCell.Column
zaehler0 = LastCell.Column
Do While Application.CountA(Columns(zaehler0)) = 0 And zaehler0 <> 1
zaehler0 = zaehler0 - 1
Loop
spaltende = zaehler0
For zaehler1 = 1 To spaltende
If wert01 = Cells(1, zaehler1) Then
Cells(1, zaehler1).EntireColumn.Hidden = False
Else
Cells(1, zaehler1).EntireColumn.Hidden = True
End If
Next zaehler1
Application.EnableEvents = True
End Sub


Option Explicit
Sub makro02()
Application.EnableEvents = False
Dim LastCell
Dim spaltende, zeilende
Dim zaehler1, zaehler2, zaehler3, wert01
If Range("A1:IV1").EntireColumn.Hidden = True Then
Range("A1:IV1").EntireColumn.Hidden = False
End
End If
Range("A1:IV1").EntireColumn.Hidden = False
wert01 = InputBox("Suchbegriff")
If wert01 = "" Then End
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
spaltende = LastCell.Column
zeilende = LastCell.Row
For zaehler1 = 1 To spaltende
For zaehler2 = 1 To zeilende
If Cells(zaehler2, zaehler1) = wert01 Then
zaehler3 = 1
zaehler2 = zeilende
End If
Next zaehler2
If zaehler3 = 0 Then
Cells(1, zaehler1).EntireColumn.Hidden = True
End If
zaehler3 = 0
Next zaehler1
Application.EnableEvents = True
End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "Autofilter auf Zeilen"