Anzeige
Archiv - Navigation
1604to1608
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
Inhaltsverzeichnis

Excel VBA aktuelle Woche filtern und ausgeben

Excel VBA aktuelle Woche filtern und ausgeben
25.01.2018 08:21:24
Pascal
Hallo Leute,
ich möchte mir über ein Makro eine Spalte nach der aktuellen Woche filtern lassen
(Montag-Freitag) wollte folgenden Code dafür benutzen
Private Sub CommandButton2_Click()
Dim varDate As Date
varDate = Date
Sheets("ToDo&PrioListe").Range("K5").AutoFilter Field:=11, Criteria1:="=" & CDbl(varDate) + 2 - Weekday(Date)
End Sub
Die Spalte wird gefiltert doch heute fehlt z.B. der Montag ich schätze ich hatte nur einen "Glücksgriff" da es gestern und vorgestern noch geklappt hat.
Könnte man das besser und sicherer programmieren?
Schön wäre es auch wenn das Makro mir dann die entsprechende Woche auch noch in eine Zelle X schreibt.
Liebe Grüße
Pascal

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

Betreff
Datum
Anwender
Anzeige
AW: 4
25.01.2018 08:39:03
xlFilterThisWeek
Hallo,
wenn nach den Werten der ersten Spalte gefiltert wird:

with cells(1).currentregion
.autofilter 1, 4, 11
end with
mfg
AW: Excel VBA aktuelle Woche filtern und ausgeben
25.01.2018 08:50:07
Sepp
Hallo Pascal,
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub CommandButton2_Click()
Dim lngStart As Long, lngEnd As Long

lngStart = Date - Weekday(Date, vbMonday) + 1
lngEnd = lngStart + 4

Range("K5").AutoFilter Field:=11, Criteria1:=">=" & lngStart, _
  Operator:=xlAnd, Criteria2:="<=" & lngEnd

Range("M1") = DINKwoche(lngStart)
End Sub

Private Function DINKwoche(ByVal Datum As Date) As Long
Dim tmp As Date
tmp = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
DINKwoche = (Fix(Datum - tmp - 3 + (Weekday(tmp) + 1) Mod 7) \ 7) + 1
End Function

Da der Code enes Commandbutton ja im Modul der Tabelle steht, brauchst du diese nicht extra angeben!
Gruß Sepp

Anzeige
AW: Excel VBA aktuelle Woche filtern und ausgeben
25.01.2018 09:42:20
Pascal
Hat geklappt, super!
Danke
LG
Pascal

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige