Goedendag
Ik ben net nieuw maar zit al een tijdje met een probleempje en hoop dat jullie mij kunnen helpen.
Ik heb het forum al afgestruind naar een oplossing maar heb hem nog niet gevonden.
Ik gebruik het volgende macro:
Ik laat elke dag Excel naar een lijst kijken (voorbereidinglijst) en vergelijk de datums met de datum van vandaag.
Op het moment dat de datum overheen komt dan gaat hij de regels die bij deze datums kopiëren naar 2 lijsten.
Werklijst en controle lijst en hij kijkt wat de eerst volgende lege regel is en zet dan de gekopieerde regels hieronder.
Nu had ik het probleem dat hij soms niet kopieerde naar de Werklijst maar wel naar de controle lijst. (daarom dus die controle lijst)
Op de Werklijst staan filters op de controle lijst niet.
Ik snapte er eerst niets van totdat ik er achter kwam dat het fout ging zodra in de werklijst de laatste regel (waarachter de gekopieerde cellen moeten komen) was weggefilterd.
Zolang de onderste regel die gebruikt wordt er nog staat is het goed maar wordt deze weggefilterd dan kopieerde hij niets naar deze lijst.
Nu zat ik te denken zou je het filter uit kunnen zetten, kopiëren en dan filter aanzetten (met dezelfde filterinstellingen) ?
Of is er een simpeler oplossing want ik zou het zo niet niet weten
Alvast bedankt voor alle moeite
Ik ben net nieuw maar zit al een tijdje met een probleempje en hoop dat jullie mij kunnen helpen.
Ik heb het forum al afgestruind naar een oplossing maar heb hem nog niet gevonden.
Ik gebruik het volgende macro:
Code:
Sub kopieren()
Dim sAdd As String
Dim sh As Worksheet, rng As Range
Dim rng1 As Range, i As Long
Dim lToday As Date
Dim FoundCell As Range
lToday = Format(Date, "dd-mm-yy")
Set sh = Worksheets("Voorbereidinglijst")
Set rng = sh.Columns(1)
Set rng1 = rng.Find(lToday)
If Not rng1 Is Nothing Then
sAdd = rng1.Address
Do
Intersect(rng1.EntireRow, Columns("B:I")).Copy Destination:= _
Worksheets("Werklijst").Cells(Rows.Count, 2).End(xlUp)(2)
Application.Wait (Now + TimeValue("0:00:01"))
Intersect(rng1.EntireRow, Columns("A:L")).Copy Destination:= _
Worksheets("Controle lijst voor kopieren").Cells(Rows.Count, 2).End(xlUp)(2)
Application.Wait (Now + TimeValue("0:00:01"))
Set rng1 = rng.FindNext(rng1)
Loop While rng1.Address <> sAdd
End If
Set FoundCell = Range("A:A").Find(lToday)
Do Until FoundCell Is Nothing
FoundCell.EntireRow.Delete
Set FoundCell = Range("A:A").FindNext
Loop
End Sub
Ik laat elke dag Excel naar een lijst kijken (voorbereidinglijst) en vergelijk de datums met de datum van vandaag.
Op het moment dat de datum overheen komt dan gaat hij de regels die bij deze datums kopiëren naar 2 lijsten.
Werklijst en controle lijst en hij kijkt wat de eerst volgende lege regel is en zet dan de gekopieerde regels hieronder.
Nu had ik het probleem dat hij soms niet kopieerde naar de Werklijst maar wel naar de controle lijst. (daarom dus die controle lijst)
Op de Werklijst staan filters op de controle lijst niet.
Ik snapte er eerst niets van totdat ik er achter kwam dat het fout ging zodra in de werklijst de laatste regel (waarachter de gekopieerde cellen moeten komen) was weggefilterd.
Zolang de onderste regel die gebruikt wordt er nog staat is het goed maar wordt deze weggefilterd dan kopieerde hij niets naar deze lijst.
Nu zat ik te denken zou je het filter uit kunnen zetten, kopiëren en dan filter aanzetten (met dezelfde filterinstellingen) ?
Of is er een simpeler oplossing want ik zou het zo niet niet weten
Alvast bedankt voor alle moeite
Laatst bewerkt: