Microsoft Excel

Herbers Excel/VBA-Archiv

suchen und ausblenden

Betrifft: suchen und ausblenden von: Andy
Geschrieben am: 06.09.2004 14:53:01

Hallo Forumteilnehmer.

Ich habe ein Makro aufgezeichnet, bei dem in Spalte H nach einer Jahreszahl gesucht wird. Ist die Jahreszahl in einer oder mehereren Zellen vorhanden soll die betreffende Zeile ausgeblendet werden.
Kann man da etwas mit einer schleife (for each... in Range Do..) oder so machen?
Wenn ja wie?

Cells.Find(What:="2004", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveRow.Select
Selection.EntireRow.Hidden = True

Gruß
Andy

  


Betrifft: AW: suchen und ausblenden von: Basti
Geschrieben am: 06.09.2004 14:56:36

For i = 1 to ...
If cells(i,8)= das Datum
cells(1,8).hidden = true
end if
next i


  


Betrifft: AW: suchen und ausblenden von: Andreas
Geschrieben am: 06.09.2004 15:03:01

hi Basti


damit ist mir zwar nicht wirklich geholfen - ber trozdem danke für deine anrwort

gruß andreas


  


Betrifft: AW: suchen und ausblenden von: Basti
Geschrieben am: 06.09.2004 15:05:35

hmm das habe ich aus deiner frage verstanden.
Wenn du das anders meinst, dann erklär mir das genauer.

weiss nicht wie weit du dich mit vba auskennst:
... musst du durch eine zahl ersetzen
das datum musst du
dim i as date
i = "20.08.2004"
und i dann fuer das datum ersetzten

gruss basti


  


Betrifft: AW: suchen und ausblenden von: Andy
Geschrieben am: 06.09.2004 15:19:47

HAllo?
der Betrag von "Andreas" ist nicht von mir..

Andy


  


Betrifft: AW: suchen und ausblenden von: Andy
Geschrieben am: 06.09.2004 15:12:41

Danke, aber ich möchte nur nach einer Jahreszahl suchen, obwohl das Datum im Format mm.dd.yyyy in den Zellen steht.
If Cells(i, 8) = Format(Date, "dd.mm.2003")
funktioniert nicht..
und
If Cells(i, 8) = 2003 auch nicht

Andy


  


Betrifft: AW: suchen und ausblenden von: Björn B.
Geschrieben am: 06.09.2004 15:41:10

Hallo Andy,

wie wär's hiermit:

Sub ausblenden()
Dim gesuchtes_Jahr As Integer, zaehler As Integer
Dim letzter_Eintrag As Long

gesuchtes_Jahr = 2004 'hier dein Jahr eintragen

If IsEmpty(ActiveSheet.Cells(65536, 8)) Then
    letzter_Eintrag = ActiveSheet.Cells(65536, 8).End(xlUp).Row
Else
    letzter_Eintrag = 65536
End If

For zaehler = 1 To letzter_Eintrag
    If IsDate(ActiveSheet.Cells(zaehler, 8)) = True Then
        If Year(ActiveSheet.Cells(zaehler, 8)) = gesuchtes_Jahr Then
            ActiveSheet.Rows(zaehler).Hidden = True
        End If
    End If
Next zaehler

End Sub



Sub einblenden()
Dim gesuchtes_Jahr As Integer, zaehler As Integer
Dim letzter_Eintrag As Long

gesuchtes_Jahr = 2004 'hier dein Jahr eintragen

If IsEmpty(ActiveSheet.Cells(65536, 8)) Then
    letzter_Eintrag = ActiveSheet.Cells(65536, 8).End(xlUp).Row
Else
    letzter_Eintrag = 65536
End If

For zaehler = 1 To letzter_Eintrag
    If IsDate(ActiveSheet.Cells(zaehler, 8)) = True Then
        If Year(ActiveSheet.Cells(zaehler, 8)) = gesuchtes_Jahr Then
            ActiveSheet.Rows(zaehler).Hidden = False
        End If
    End If
Next zaehler

End Sub


Gruß
Björn


  


Betrifft: AW: suchen und ausblenden von: Andy
Geschrieben am: 06.09.2004 15:50:14

HAllo! durch den Tipp von Basti bin ich auf diesen Code gekommen.
er beginnt in zeile 15 zu zu suchen und endet bei der Zeile j.
Soweit funktioniert das ganze, aber nur bis zeile 19 satt bis zeile 37. woran könnte dies liegen?

j = Sheets("Status").Cells(Rows.Count, 3).End(xlUp).Row
For i = 15 To j
If Cells(i, 8).Value = Format(Date, "dd.mm.2004") Then
Rows(i).Select
Selection.EntireRow.Hidden = True
End If
Next i

Gruß
Andy


  


Betrifft: Problem erkannt und gelöst von: Andy
Geschrieben am: 06.09.2004 15:59:21

Hallo nochmal!

Ich habe das Problem gelöst. Der Code war richtig. Jedoch hat das Format des Datums in den Zellen teilweise nicht gestimmt.
Danke für die Hilfe euch allen.

Andy


  


Betrifft: Danke für die Rückmeldung - o. T. von: Björn B.
Geschrieben am: 06.09.2004 18:28:56




  


Betrifft: AW: suchen und ausblenden von: Basti
Geschrieben am: 06.09.2004 15:49:03

For i = 1 to 50
If cells(i,8)= "2003"
cells(1,8).hidden = true
end if
next i

probier mal so.


  


Betrifft: siehe oben von: Andy
Geschrieben am: 06.09.2004 15:53:58

siehe eine zeile weiter oben


 

Beiträge aus den Excel-Beispielen zum Thema "suchen und ausblenden"