HenkBakker
Gebruiker
- Lid geworden
- 9 nov 2006
- Berichten
- 164
Dankzij dit (en een ander) forum ben in de gelegenheid geweest om het volgende in VBA te schrijven:
De bedoeling is dat het factuurnummer (in I10) met 1 wordt opgehoogd; daarna wordt deze opgeslagen op een bepaalde plaats (met "2017-" ervoor).
De uitvoering gaat helemaal goed. Maarrrrr...
Mijn factuur bestaat uit drie tabs. (1. om de artikelen, klantnaam enz. (gelinkt uit externe sheets) worden weergegeven (opmaak onbelangrijk). 2. adreslabel (links uit 1.) 3. de factuur zoals deze naar de klant gaat en in de administratie terecht komt (links uit 1.; opmaak belangrijk).)
Opmerkelijk is, dat als ik bovenstaande macro heb uitgevoerd, er slechts één tabblad (als nieuwe factuur; met nieuw nummer) wordt opgeslagen. Ik heb alle drie later nog nodig!
Daarnaast wil ik in de nieuwe facturen ook nog andere macro's kunnen gebruiken. Als ik daartoe de regel
NieuwFact = "C:\0 Bakker Handicrafts\05 facturen\uitgaand\2017\2017-" & Range("I10").Value & ".xlsx" wijzig in
NieuwFact = "C:\0 Bakker Handicrafts\05 facturen\uitgaand\2017\2017-" & Range("I10").Value & ".xlsm"
dan volgt een foutmelding (in de trant van: 'het is mogelijk om bestanden met deze extensie op te slaan'.
Wie kan mij aan een oplossing helpen? Voor het geval het van belang is: ik gebruik Office 2016 (en Office 365) op een computer met Windows 10.
Het voorbeeld "invoice 2017.5.xlsm" heft als doel om facturen met factuurnummer '2017-71001'; '2017-71002' enz. te maken. Deze worden later verder ingevuld.
Dat invullen behoort te geschieden in tabblad 'pre-factuur'. Met de ingevulde gegevens, wordt gelijk de 'adreslabel' en 'factuur' (zoals naar de klant wordt gestuurd) aangemaakt. Van de laatste maak ik daarna een pdf (voor de veiligheid).
Code:
Sub VolgFact()
Range("I10").Value = Range("I10").Value + 1
'Range("H11").Value = Date
End Sub
Public Sub OpslBestand()
Dim NieuwFact As Variant
'kopiëren document als nieuwe factuur
ActiveSheet.Copy
NieuwFact = "C:\0 Bakker Handicrafts\05 facturen\uitgaand\2017\2017-" & Range("I10").Value & ".xlsx"
ActiveWorkbook.SaveAs NieuwFact, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
VolgFact
End Sub
De bedoeling is dat het factuurnummer (in I10) met 1 wordt opgehoogd; daarna wordt deze opgeslagen op een bepaalde plaats (met "2017-" ervoor).
De uitvoering gaat helemaal goed. Maarrrrr...
Mijn factuur bestaat uit drie tabs. (1. om de artikelen, klantnaam enz. (gelinkt uit externe sheets) worden weergegeven (opmaak onbelangrijk). 2. adreslabel (links uit 1.) 3. de factuur zoals deze naar de klant gaat en in de administratie terecht komt (links uit 1.; opmaak belangrijk).)
Opmerkelijk is, dat als ik bovenstaande macro heb uitgevoerd, er slechts één tabblad (als nieuwe factuur; met nieuw nummer) wordt opgeslagen. Ik heb alle drie later nog nodig!
Daarnaast wil ik in de nieuwe facturen ook nog andere macro's kunnen gebruiken. Als ik daartoe de regel
NieuwFact = "C:\0 Bakker Handicrafts\05 facturen\uitgaand\2017\2017-" & Range("I10").Value & ".xlsx" wijzig in
NieuwFact = "C:\0 Bakker Handicrafts\05 facturen\uitgaand\2017\2017-" & Range("I10").Value & ".xlsm"
dan volgt een foutmelding (in de trant van: 'het is mogelijk om bestanden met deze extensie op te slaan'.
Wie kan mij aan een oplossing helpen? Voor het geval het van belang is: ik gebruik Office 2016 (en Office 365) op een computer met Windows 10.
Het voorbeeld "invoice 2017.5.xlsm" heft als doel om facturen met factuurnummer '2017-71001'; '2017-71002' enz. te maken. Deze worden later verder ingevuld.
Dat invullen behoort te geschieden in tabblad 'pre-factuur'. Met de ingevulde gegevens, wordt gelijk de 'adreslabel' en 'factuur' (zoals naar de klant wordt gestuurd) aangemaakt. Van de laatste maak ik daarna een pdf (voor de veiligheid).
Bijlagen
Laatst bewerkt: