Ik ben bezig (zou graag willen) een excel macro te maken waardoor ik vanuit mijn factuurbestand (excel) met de spreekwoordelijke "druk op de knop" facturen (regels) die langer dan een bepaald aantal dagen openstaan naar een specifiek blad kan kopiëren en daar op klantnaam laat sorteren. Voor de duidelijkheid, de oude regel moet wel blijven staan. Het eerste gedeelte lukt heel aardig met onderstaande code.
Ik heb dit nodig voor mijn administratie (ben zelfstandig) zodat ik hiermee mijn tekst/data integratie met word kan vergemakkelijken en de klanten met te lang openstaande facturen een herinnering kan toezenden.
Onderstaande code is slechts een deel, deze kopieert alleen de regels welke een 1e herinnering moeten ontvangen. Het vervolg is dat deze macro naast de 1e herinneringen, hetzelfde doet voor de 2e herinnering en de laatste aanmaning.
Helaas zijn er een paar problemen waar ik niet uit kom (ben helaas geen held in vba):
- Allereerst dient, voorafgaand aan het kopiëren naar het specifieke blad, dit blad te worden leeggemaakt. Zodat alle oude regels daarvan worden verwijderd.
- Na het kopiëren, dienen de regels te worden gesorteerd en wel op klantnaam.
- In een ideale wereld kan ik de criteria wanneer een regel gekopieerd wordt zelf bepalen dmv een/meerdere celwaarde(n).
Zoals in onderstaand code al gebeurd is het voor mij niet noodzakelijk dat de specifieke bladen actief worden.
Ik ben heel benieuwd naar jullie feedback! En natuurlijk alvast mijn dank voor eventuele input!
Hier het voorbeeld bestand Bekijk bijlage betalingsoverzicht_temp.xlsm "CTRL + M" activeert de macro
Ik heb dit nodig voor mijn administratie (ben zelfstandig) zodat ik hiermee mijn tekst/data integratie met word kan vergemakkelijken en de klanten met te lang openstaande facturen een herinnering kan toezenden.
Onderstaande code is slechts een deel, deze kopieert alleen de regels welke een 1e herinnering moeten ontvangen. Het vervolg is dat deze macro naast de 1e herinneringen, hetzelfde doet voor de 2e herinnering en de laatste aanmaning.
Helaas zijn er een paar problemen waar ik niet uit kom (ben helaas geen held in vba):
- Na het kopiëren, dienen de regels te worden gesorteerd en wel op klantnaam.
- In een ideale wereld kan ik de criteria wanneer een regel gekopieerd wordt zelf bepalen dmv een/meerdere celwaarde(n).
Zoals in onderstaand code al gebeurd is het voor mij niet noodzakelijk dat de specifieke bladen actief worden.
Ik ben heel benieuwd naar jullie feedback! En natuurlijk alvast mijn dank voor eventuele input!
Code:
Sub FilterToSheets()
Dim SourceSheet As Worksheet
Dim TargetSheet As Worksheet
Dim SheetNames As Variant
Dim i As Long
Dim LR As Long
Application.ScreenUpdating = False
'EDIT
Set SourceSheet = Sheets("Betalingen")
SheetNames = Array("OPENSTAAND")
Const FilterColumn = 25
Const FilterColumn_1 = 27
'END EDIT
With SourceSheet
LR = .Range("A" & .Rows.Count).End(xlUp).Row
For i = 0 To UBound(SheetNames)
Set TargetSheet = Worksheets(SheetNames(i))
TargetSheet.Cells.ClearContents
With .Range("A3:BD" & LR)
.AutoFilter Field:=FilterColumn, Criteria1:=SheetNames(i)
.AutoFilter Field:=FilterColumn_1, Criteria1:=">=35", Criteria2:="<=50"
.Offset(0, 0).Copy TargetSheet.Range("A2")
End With
Next i
End With
ActiveSheet.ShowAllData
Application.ScreenUpdating = True
End Sub
Hier het voorbeeld bestand Bekijk bijlage betalingsoverzicht_temp.xlsm "CTRL + M" activeert de macro
Laatst bewerkt: