Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1676to1680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalten per VBA filtern

Spalten per VBA filtern
18.02.2019 13:15:45
Simon
Hallo,
ich benötige ein Makro, das mir gewisse Spalten filtert (die gleiche Funktion wie Autofilter nur nicht nach Zeilen, sondern nach Spalten filtern).
Hat da jemand einen Lösungsvorschlag?
Viele Grüße
Simon

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

Betreff
Datum
Anwender
Anzeige
AW: Spalten per VBA filtern
18.02.2019 14:04:50
Daniel
Hi
das Spaltenfiltern ist in Excel und VBA nicht vorgesehen.
in VBA musst du das selber programmieren, in dem du mit einer Schleife über alle Zellen einer Zeile läufst, die einzelnen Zellen abfragst und ein- oder ausblendest.
beispielsweise so, das würde alle Spalten filtern, bei denen in Zeile 1 ein "x" steht.
dim Zelle as range
for each Zelle in ActiveSheet.Usedrange.Rows(1)
Zelle.EntireColumn.Hidden = Zelle.Value  "x"
Next

Gruß Daniel
AW: Spalten per VBA filtern
18.02.2019 14:50:40
Simon
Hallo Daniel,
danke für die schnelle Antwort.
ok, ich dachte, dass es dafür vielleicht ein Template gibt.
Ich habe auch schon ein Makro geschrieben, um einen Zellenwert abzufragen und zu filtern.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range, strAdr As String
If Not Intersect(Target, [B4]) Is Nothing Then
If [B4].Value = "" Then
Cells.Columns.Hidden = False
Columns("A").Hidden = True
Else
Cells.Columns.Hidden = True
Columns("B:C").Hidden = False
With Rows(4)
Set rngZelle = .Find([B4].Value, lookat:=xlWhole)
If Not rngZelle Is Nothing Then strAdr = rngZelle.Address
While Not rngZelle Is Nothing
rngZelle.EntireColumn.Hidden = False
Set rngZelle = .FindNext(after:=rngZelle)
If rngZelle.Address = strAdr Then Set rngZelle = Nothing
Wend
End With
End If
End If
Set rngZelle = Nothing
End Sub
https://www.herber.de/bbs/user/127719.jpg
Ich brauche das ganze aber für mehrere Zellen, d.h. ich will in die Zellen B4 bis B14 Werte eingeben und wenn eine Zelle nicht dem Wert entspricht, soll die ganze Spalte ausgeblendet werden.
Beispiel: Ich schreibe in B4 "in Arbeit" und in Prio "2". Dann sollen alle Spalten, die diesen Wert in der jeweiligen Zelle nicht haben, ausgeblendet werden.
Dafür habe ich noch keine Lösung gefunden.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige