Danke im Voraus
Boris Stumpf
> wie kann ich in einem Tabellenblatt sowohl horizontal filtern als auch
> vertikal?
>
das ist meines Wissens nicht möglich,
du kannst aber je nach Menge der zu sortierenden Daten
wenn es die Anzahl der Zeilen zuläßt den Bereich drehen
und dann wieder sortieren
schau dir dazu die Hilfe zu transponieren an
mfg Herbert
Mein Problem ist eine Tabelle übersichtlich zu gestalten
die Tabelle ist ungefähr 120 Spalten Breit und 300 Zeilen lang.
wobei sich die Zeilen nochmals in 10 verschiedene unterkategorien aufteilen.
und jeweils nur 20 Einträge in den dazughörigen spalten haben.
Mfg
Boris Stumpf
"Herbert Taferner" <t.he...@SPAMgmx.at> schrieb im Newsbeitrag
news:uEuLofoe...@TK2MSFTNGP09.phx.gbl...
Boris Stumpf schrieb am 26.06.2005
> Hallo Neuwsgroup,
> wie kann ich in einem Tabellenblatt sowohl horizontal filtern als auch
> vertikal?
Von Haus aus ist dies nicht vorgesehen.
Doch Du könntest die folgende Sub verwenden und z.B. mit dem
Change-Ereignis verknüpfen oder eine eigene Routien zum Aufruf erstellen,
die über einen Button gestartet wird.
Public Sub FilterColumns(rngZeile As Range, Optional varValue As Variant)
'© Thomas Ramel / 07.02.2005
'Funktion zum Ausblenden ganzer Spalten eines Tabellenblattes unter
'Berücksichtigung von Kriterien - ähnlich dem Autofilter
'Die Funktion kann nur von VBA aufgerufen werden *nicht* in einer Zelle
'Folgender Aufruf blendet alle Spalten aus wenn in Zeile 4 '10' enthalten
ist:
'FilterColunms Range("4:4"), 10
'Zum einblenden der Spalten einfach einen Range ohne Kriterium angeben:
'FilterColunms Range("4:4")
If IsMissing(varValue) Then
Columns.Hidden = False
Exit Sub
End If
Dim blnEvent As Boolean
Dim blnScrUp As Boolean
Dim lngCalc As Long
With Application
blnEvent = .EnableEvents
blnScrUp = .ScreenUpdating
lngCalc = .Calculation
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlManual
End With
On Error GoTo ErrorHandler
If Application.WorksheetFunction.CountIf(rngZeile, varValue) > 0 Then
Columns.Hidden = False
With rngZeile
.Replace "", "##@@##", xlWhole
.Replace varValue, "", xlWhole
.SpecialCells(xlCellTypeBlanks).EntireColumn.Hidden = True
.Replace "", varValue, xlWhole
.Replace "##@@##", "", xlWhole
End With
End If
ErrorHandler:
With Application
.EnableEvents = blnEvent
.ScreenUpdating = blnScrUp
.Calculation = lngCalc
End With
End Sub
Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)