Exceltabelle filtern

Hallo zusammen,

ich habe eine Exceltabelle in der in einer Zeile sämtliche Datumangaben vom 01.01.2013-31.12.2013 angegeben sind. Jetzt möchte ich einen Filter erstellen der mir beispielsweise wenn ich in einer bestimmten Zelle z.B. 1 angebe, mir nur die Werte für Januar angegeben werden, 2 Februar usw.

Geht sowas? Und wenn ja, wie?

Danke für eure Hilfe!!

Exceltabelle horizontal,waagrecht filtern
Hallo Landei,

ich habe eine Exceltabelle in der in einer Zeile sämtliche
Datumangaben vom 01.01.2013-31.12.2013 angegeben sind.

aha, also hast du mind. Version 2007. Welche genau?
M.W. können die „eingebauten“ Filter bis incl. 2007 nur vertikal
filtern. Du willst aber horizontal spiegeln.

Jetzt
möchte ich einen Filter erstellen der mir beispielsweise wenn
ich in einer bestimmten Zelle z.B. 1 angebe, mir nur die
Werte für Januar angegeben werden, 2 Februar usw.
Geht sowas? Und wenn ja, wie?

Mit Vba geht das auf jeden Fall. Eine Variante, du gibst in einer
Zelle deiner Wahl eine der Zahlen von 0 bis 12 an.
Bei 0 siehst du die ganze (Jahres-) Tabelle, ansonsten nur den
der Zahl entsprechenden Monat.

Ohne Vba geht es auch aber m.E. kannst du dann nicht an Ort und
Stelle filtern sondern benötigst zwei Tabellen.
Eine wo das ganze Jahr mit einer Spalte pro Tag steht.
Dann eine wo dann nach deiner Wahl nur der eine Monat mit einer
Spalte pro Tag angezeigt wird.

Und nun?

Gruß
Reinhard

Super, danke. Und wie ginge das jetzt genau? Was heißt Vba? (Sorry, bin in Excel nur mit den einfachsten Funktionen vertraut). Ich habe 2007.

Danke schon mal!

Super, danke. Und wie ginge das jetzt genau? Was heißt Vba?
(Sorry, bin in Excel nur mit den einfachsten Funktionen
vertraut). Ich habe 2007.

Hallo Landei,

nachfolgender Code geht davon aus daß du in B2:NB2
die Tage des Jahres 2013 hast.
In A2 läßt du über Gültigkeit nur ganze Zahlen von
0 bis 12 zu.

0 oder gelöschte A2 bedeutet alle Monate/Tage werden angezeigt.
Bei 1 - 12 in A2 nur die Tage des jeweiligen Monats.

Dann klickst du mit RECHTS unten auf den Blattreiter, gehst auf
„Code anzeigen“ und kopierst da den nachstehenden Code rein.
Entferne den unten angehängten Spam „…siehe auch…“ von w-w-w.
Schließe den VB-Editor.

Gruß
Reinhard

Option Explicit

Private Sub Worksheet\_Change(ByVal Target As Range)
Dim rngfindA As Range, rngfindE As Range 'A=Anfang Monat, E=Ende Monat
Set Target = Intersect(Target, Range("A2"))
If Target Is Nothing Then Exit Sub
Select Case Target.Value
 Case 0
 Columns("B:NB").Hidden = False
 Case 1 To 12
 With Range("A2:NB2")
 Set rngfindA = .Find(DateSerial(Year([b2]), Target.Value, 1))
 Set rngfindE = .Find(DateSerial(Year([b2]), Target.Value + 1, 1) - 1)
 End With
 Columns("B:NB").Hidden = True
 Range(rngfindA.Address & ":" & rngfindE.Address).EntireColumn.Hidden = False
 Case Else
 MsgBox "frag deinen Administrator, nicht Reinhard," & vbLf \_
 & "der weiß auch nicht was du da gebaut hast :smile:"
End Select
End Sub