michielvd123
Gebruiker
- Lid geworden
- 9 okt 2009
- Berichten
- 22
Ik heb een korte macro opgesteld om een filter te kopieren naar een nieuw tabblad.
Ik werk met een inputbox om een filter met begin- en einddatum te kunnen instellen.
Ik maak ook een 2e filter op naam.
Nu wil ik deze macro kopieren voor andere namen en deze achter elkaar uitvoeren, maar ik wil uiteraard maar 1x de begin- en einddatum invullen. Hoe los ik dit op zodat hij dit maar 1x vraagt?
Hierbij wat ik heb:
Bedankt!
Ik werk met een inputbox om een filter met begin- en einddatum te kunnen instellen.
Ik maak ook een 2e filter op naam.
Nu wil ik deze macro kopieren voor andere namen en deze achter elkaar uitvoeren, maar ik wil uiteraard maar 1x de begin- en einddatum invullen. Hoe los ik dit op zodat hij dit maar 1x vraagt?
Hierbij wat ik heb:
Code:
Sub Yannick()
Application.DisplayAlerts = False
On Error Resume Next
ThisWorkbook.Sheets("Yannick").Delete
Dim rng As Range
Set rng = Selection
Datum1 = Application.InputBox _
(Prompt:="Gelieve begindatum op te geven.", _
Title:="Begindatum", Type:=1)
Datum2 = Application.InputBox _
(Prompt:="Gelieve einddatum op te geven.", _
Title:="Einddatum", Type:=1)
rng.AutoFilter Field:=1, Criteria1:="Yannick"
rng.AutoFilter Field:=6, Criteria1:=">=" & Datum1, Operator:=xlAnd, Criteria2:="<=" & Datum2
Set rng = ActiveSheet.AutoFilter.Range
If rng.Columns(1).SpecialCells(xlVisible).Count - 1 = 0 Then
MsgBox "Geen info van Yannick!"
End If
Set rngSelect = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
rngSelect.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
ActiveSheet.Name = "Yannick"
Cells.Select
Cells.EntireColumn.AutoFit
Range("A1").Select
With ActiveWindow
.SplitColumn = 0
.SplitRow = 1
End With
ActiveWindow.FreezePanes = True
Sheets("Blad1").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWorkbook.Save
End Sub
Bedankt!
Laatst bewerkt door een moderator: