Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen ausblenden wenn...

Zeilen ausblenden wenn...
04.09.2008 20:18:36
Andreas
Hi,
ich habe ein kleines Problem. Auf meinem Excel-Blatt sind von B4:B200 Datumswerte im Format TT.MM.JJJJ eingetragen. In der Zelle A1 gebe ich nun beispielsweise Januar ein. Ich will nun, dass alle Zeilen ausgeblendet werden, die nicht in der Spalte B ein Januar-Datum eingetragen haben. Dementsprechend sollen bei der Eingabe von z.B. März nur alle Zeilen angezeigt bleiben, die Datumswerte vom März in Spalte B haben.
Hat jemand eine Ahnung wie ich das anstellen kann?
Ich habe schon im Web gesucht aber leider nichts gefunden.
Danke im Voraus.
Mfg. Andi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ausblenden wenn...
04.09.2008 20:22:00
Hajo_Zi
Hallo Andi,
warum benutzt Du nicht Autofilter?

AW: Zeilen ausblenden wenn...
04.09.2008 20:33:00
Andreas
Hi,
den Autofilter kann ich leider nicht verwenden, weil ich sonst knapp 365 verschiedene Werte in meinem Autofilter habe. Außerdem ist der Wert aus A1 abhängig von ein paar anderen Werten eines anderen Tabellenblattes. Deshalb müsste ich den "Text" Januar eingeben und anhand von ihm dann alle Datum-Werte vom Januar angezeigt bekommen. Es wäre auch denkbar, dass ich beispielsweise 1 für Januar eingebe und es mir alle Werte mit ?.01.? anzeigt.
Weiß jemand wie ich das machen kann?
Danke schon mal.
Mfg. Andi
Anzeige
AW: Zeilen ausblenden wenn...
04.09.2008 20:43:00
Ramses
Hallo
Gehe mit einer Schleife von hinten nach vorne durch alle Zellen in B4:B200 (wie du da 365 Werte reinkriegst ist mir allerdings schleierhaft) und frage das Datum nach Month(Zelle) gegen Month(A1) ab.
Wenn nicht, dann ausblenden,... ganz einfach.
In Zelle A1 darf dann allerdings nur eine Zahl von 1 - 12 stehen.
Gruss Rainer
AW: Zeilen ausblenden wenn...
04.09.2008 20:58:00
Andreas
Hi,
ich habe mittlerweile einen ähnlichen Code gefunden, wie ich ihn brauche. Nur leider habe ich das Problem, dass er mir bei dem Beispiel nur die exakte Übereinstimmung anzeigt. Ich habe schon versucht den Code umzubasteln aber ich kriegs nicht hin.
Private Sub Worksheet_Change(ByVal Target As Range) Dim rngi As Range Dim sFirsti As Variant Dim iCnti As Long Dim arrRowsi() As Long If Target.Address = "$B$2" Then Application.ScreenUpdating = False Range("B4:B200").Rows.Hidden = False If [B2] = "" Then Application.ScreenUpdating = True: Exit Sub Set rngi = Range("B4:B200").Find(What:=[B2], LookIn:=xlValues, lookat:=xlPart) If Not rngi Is Nothing Then sFirsti = rngi.Address ReDim Preserve arrRowsi(iCnti) arrRowsi(iCnti) = rngi.Row iCnti = iCnti + 1 Do Set rngi = Range("B4:B200").FindNext(after:=rngi) If rngi.Address = sFirsti Then Exit Do ReDim Preserve arrRowsi(iCnti) arrRowsi(iCnti) = rngi.Row iCnti = iCnti + 1 Loop Range("B4:B200").Rows.Hidden = True For iCnti = 0 To UBound(arrRowsi) Rows(arrRowsi(iCnti)).Hidden = False Next End If End If Range("B2").Select Application.ScreenUpdating = True End Sub


Ich habe schon versucht die Range("B4:B400") in ein MONTH() zu packen, aber dann passiert irgendwie gar nichts. Hat jemand eine Idee?

Anzeige
AW: Zeilen ausblenden wenn...
04.09.2008 21:06:00
ramses
Hallo
Wo ist das Problem?
For i =200 to 4 step - 4
If month(cells(i,2)) = Range("A1") then
Rows(i).hidden = True
end If
next i
Gruss Rainer
AW: Zeilen ausblenden wenn...
04.09.2008 21:14:00
Andreas
Hi Rainer,
danke für die schnelle Antwort. Leider funktioniert dein Beispiel nicht :o(
Es werden zwar mal alle paar Zeilen ein paar Zeilen ausgeblendet, aber nicht die des Monats Januar. Ich habe in A1 die Zahl geschrieben, also 1 für Januar, 2=Februar, ...
Das Beispiel das ich eingefügt habe funktioniert vom Prinzip her. Es geht auch sehr schnell, leider aber nicht mit der Abfrage nach dem Monat, der angezeigt werden soll.
Mfg. Andi
Anzeige
AW: Zeilen ausblenden wenn...
04.09.2008 21:38:37
Ramses
Hallo
Warum sollte das nicht funktionieren ?
Vorher
Tabelle1

 AB
11 
2  
3  
4 01.01.2008
5 05.01.2008
6 01.03.3008
7 01.01.2008
8 01.08.2008
9 01.09.2008
10 01.11.2008
11 01.01.2008
12  
13  
14  


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Nachher
Tabelle1

 AB
11 
2  
3  
4 01.01.2008
5 05.01.2008
7 01.01.2008
11 01.01.2008


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Allerdings hatte ich im ersten Code auf die Schnelle einen Verschreiber drinn :-)
Hier der korrekte Code
Option Explicit

Sub Beweis()
    Dim i As Long, sortCol As Long
    'Spalte B
    sortCol = 2
    Application.ScreenUpdating = False
    For i = 200 To 4 Step -1
        If Month(Cells(i, sortCol)) <> Range("A1") Then
            Rows(i).Hidden = True
        Else
            Rows(i).Hidden = False
        End If
    Next i
    Application.ScreenUpdating = True
End Sub

Gruss Rainer
Anzeige
AW: Zeilen ausblenden wenn...
04.09.2008 21:32:14
Erich
Hallo Andi,
probier mal

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zz As Long, rngA As Range, rngV As Range
If Target.Address  "$A$1" Then Exit Sub
For zz = 4 To Evaluate("MAX((B4:B65535"""")*ROW(B4:B65535))")
If Format(Cells(zz, 2), "MMMM") = Cells(1, 1) Then
If rngA Is Nothing Then
Set rngA = Cells(zz, 1)
Else
Set rngA = Union(rngA, Cells(zz, 1))
End If
Else
If rngV Is Nothing Then
Set rngV = Cells(zz, 1)
Else
Set rngV = Union(rngV, Cells(zz, 1))
End If
End If
Next zz
If Not rngA Is Nothing Then rngA.EntireRow.Hidden = False
If Not rngV Is Nothing Then rngV.EntireRow.Hidden = True
End Sub

Dabei muss in A1 der Monatsname ausgeschrieben sein.
Wenn in A1 die Monatsnummer (1 bis 12) steht, musst du halt die Zeile
If Format(Cells(zz, 2), "MMMM") = Cells(1, 1) Then
ersetzen durch
If month(Cells(zz, 2)) = Cells(1, 1) Then
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Zeilen ausblenden wenn...
04.09.2008 22:55:00
Andreas
Hallo Erich,
danke, funktioniert super :o)
Danke auch an Ramses und Hajo_Zi.
Mfg. Andi

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige