Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Autofilter mit VBA
17.05.2018 10:11:21
NewbieVBA
Hallo VBA-Könner,
ich würde gerne eine Liste mit Hilfe eines Makros filtern. Derzeit benutze ich folgende Makro:
Sub AktuelleTasks()  'aktueller Sprint
Dim LetzteZeile As Long
LetzteZeile = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Application.StatusBar = "Sprints werden ausgeblendet, bitte warten !!!"
Application.ScreenUpdating = False
ActiveSheet.Rows.Hidden = False
For i = 3 To LetzteZeile
If Cells(i, 30).Value  Worksheets("Backlog-Sprint-Task").Range("C1").Value Then
Rows(i).Hidden = True
End If
Next i
Worksheets("Hilfe").Range("F3").Value = " aktueller Sprint"
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub

Sub TasksAusblenden()   '3 Wochen Anzeige
Dim LetzteZeile As Long
LetzteZeile = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Application.StatusBar = "Sprints werden ausgeblendet, bitte warten !!!"
Application.ScreenUpdating = False
ActiveSheet.Rows.Hidden = False
For i = 3 To LetzteZeile
If Cells(i, 30).Value  ((Worksheets("Backlog-Sprint-Task").Range("C1").Value) + 1) Then
Rows(i).Hidden = True
End If
Next i
Worksheets("Hilfe").Range("F3").Value = "3-Wochen-Sprints"
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub
Leider dauern diese Makro "ewig", mit der Autofilterfunktion geht es schneller.
Die Aufgabe ist, einen bestimmten Zeitraum zu zeigen. Ich habe in Zelle C1 die aktuelle Woche und in Spalte AD (#30) steht pro Zeile die Woche. Jetzt möchte ich mit Hilfe zweier Makros folgendes tun:
a) alle Zeilen zeigen der aktuellen Woche
b) alle Zeilen der letzten, aktuellen und folgenden Woche
Mein jetziger Code für b) ist:
ActiveSheet.Range("$A$2:$AZ" & LetzteZeile).AutoFilter Field:=30, Criteria1:=">=(activesheet.Range("C1").Value) - 1" _
, Operator:=xlAnd, Criteria2:=" Es kommt allerdings immer der Fehler: (Erwartet: Anweisungsende)
Leider komm ich mit den () und "" nicht ganz zurecht. Kann mir bitte jemand meinen Fehler aufzeigen?
Ich danke euch
Gruß NewbieVBA

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter mit VBA
17.05.2018 10:31:56
Werner
Hallo,
zu Problem a:
Warum benutzt du dafür nicht auch den Autofilter, kannst ja den Makrorekorder anwerfen und die das Filtern als Makro aufzeichnen lassen und den Code dann überarbeiten?
zu Problem b:
ActiveSheet.Range("$A$2:$AZ" & LetzteZeile).AutoFilter Field:=30, _
Criteria1:=">=" & ActiveSheet.Range("C1").Value - 1, _
Operator:=xlAnd, Criteria2:="
Gruß Werner
AW: Autofilter mit VBA
17.05.2018 10:51:00
NewbieVBA
Hallo Werner,
vielen Dank, funkt einwandfrei. Es kann so einfach sein, wenn man es kann :-)
zu a) ja, natürlich werde ich auch das umstellen, jetzt weiß ich ja wie es geht
Gruß
Newbie
Anzeige
Gerne u. Danke für die Rückmeldung...
17.05.2018 11:42:09
Werner
Hallo,
...aber dann bitte den Beitrag nicht auf offen setzen.
Gruß Werner

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige