Ga het nog een keer proberen.
We maken als eerste een offerte.
Hiervan slaan we het volgende op:
- 1 PDF ( die ook naar de klant gaat)
- 1 excelbestand zodat we daar zelf later mee verder kunnen gaan.
Deze beide bestanden komen in de klantmap te staan.
bv C: klantmappen\klant X te Y\
Als de order doorgaat wil ik hem uiteindelijk factureren.
Dat willen we dus doen vanuit de offerte vandaan (excelbestand)
Zie bijlage.
Wijzig cel B2 en het is bijna een factuur.
Wat dan nog moet gebeuren is het volgende.
Het offertenummer moet verwijdert worden.
Er moet een nieuw factuurnummer opgehaald worden.
Verder moeten de klantgegevens en de bedragen naar het factuurregistratiebestand overgeschreven worden.
Als dat voor elkaar is kan het bestand worden opgeslagen als "factuurnummer" in de map \facturen\verkoopfacturen.
Dat is allemaal voor elkaar op 1 ding na.
Dat is gelijk ook het probleem wat ik bedoel.
Omdat is steeds vanuit een ander bestand met dus een andere bestandsnaam werk kan ik niet hard zeggen: "Windows("Offerte123.xlsm").Activate.
Ik heb het vermoeden (maar ben een leek op dit gebied) dat als eerste het bestand en padnaam opgevraagd moet worden.
Aan de hand daarvan kan een één of andere variabele in het Vba code gaan verwijzen.
Zodat ik toch altijd naar het juiste bestand terug kan verwijzen om het factuurnummer te kopieeren.
'openen factuurregistratie
Workbooks.Open Filename:= _
"C:\Facturen\factuurregistratie.xlsm"
Windows("factuurregistratie.xlsm").Activate
'opzoeken van eerste lege regel in factuurregistratie
With Sheets(1)
ar = .Cells(5, 1).CurrentRegion
lastRow = 5 + UBound(ar) '(lastRow is de eerste rege regel)
.Cells(lastRow, 1) = .Cells(lastRow - 1, 1).Value + 1
'Nieuw factuurnummer kopieren naar factuur
.Cells(lastRow, 1).Select 'selecteer het factuurnummer
Selection.Copy
Windows("Offerte.......xlsm").Activate
Range("E13").Select 'selecteer Cel E13 = factuurnummer
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'KLANTNAAM OVERHALEN VAN FACTUUR NAAR FACTUURREGISTRATIE
Windows("Offerte........ .xlsm").Activate 'ga naar offerte
Range("B17").Select 'selecteer de klantnaam
Application.CutCopyMode = False
Selection.Copy
Windows("factuurregistratie.xlsm").Activate
.Cells(lastRow, 3).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Om deze rode tekst gaat het dus.
Die moet altijd naar de juiste offerte verwijzen.
Voor de duidelijkheid is dat de offerte waaruit de actie ook ontstaat.
Om een factuur te maken ga je dus eerst naar de offerte van de klant.
Daaruit druk je op de knop "verwerk Factuur"
Hoop dat het zo wel duidelijk is wat ik bedoel.