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