Office 2007 - Excel Tips 2007 - 2013

Tip 086 – Deel 2

086/207 Lessen 

Automatische factuur nummering + factuur automatisch opslaan – Deel 2

OK.
We gaan nog wat verder.
Ik wil namelijk ook dat hij telkens wanneer ik een (andere) sneltoetscombinatie indruk op mijn toetsenbord, hij deze factuur opslaat in een map die ik wens.
Het eerste wat we hiervoor doen is de map aanmaken. Als voorbeeld maak ik een map “Facturen” aan op het bureaublad. Hierin moeten alle opgeslagen facturen worden opgeslagen.
We openen vervolgens terug het VBA-venster, selecteren de eerder gemaakte module (1), klikken de knop “Invoegen” (2) en kiezen “Procedure” (3).

Image1

Geef de procedure een naam, en selecteer het keuzerondje “Sub”.
Klik de knop OK

Image2

Zoals je opmerkt is een tweede, nog lege, Sub procedure toegevoegd.

Image3

Typ in deze procedure volgende tekst:

Public Sub OpslBestand()
Dim NieuwFact As Variant
‘kopiëren document als nieuwe factuur
ActiveSheet.Copy
NieuwFact = “C:UserspeterDesktopFacturenFact” & Range(“B6”).Value & “.xlsx” ActiveWorkbook.SaveAs NieuwFact, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
VolgFact
End Sub

Misschien ook een woordje uitleg:
Eerste lijn vermeld de naam die we hebben ingegeven voor de procedure.
Tweede lijn DIM declareren we een variabele. En we declareren deze als “Variant” dat zowel numerische als alfabetische waarden kan opslaan.
De derde lijn is gewoon commentaar. dit kun je zien omdat deze wordt weergegeven in het groen. Commentaar begin je steeds met een aanhalingsteken (‘)

De vierde lijn wordt er verteld wat ie moet doen. Hij moet het aktieve werkblad kopiëren.
In de vijfde lijn vertellen we hem hoe en waar hij dit moet kopiëren. Dus hij moet een kopij achterlaten in de map Facturen op het bureaublad “C:\Users\peter\Desktop\Facturen”.
En hij moet dit opslaan onder de naam Fact gevolgd door het factuurnummer in cel B6 en met de extensie xlsx.
Dus een gewoon Excel werkblad, geen macro-werkblad. \Fact” & Range(“B6”).Value & “.xlsx”
In de zesde lijn wordt hem verteld dat hij het moet opslaan.
In de zevende lijn wordt hem verteld dat hij het aktieve werkmap moet sluiten.
En in de laatste lijn wordt hem verteld dat hij de eerste procedure moet uitvoeren. Dus opnieuw de waarde van het factuurnummer verhogen met 1, de gegevens verwijderen, en de datum instellen.

Vergeet niet de code op te slaan wanneer je alles hebt ingetypt.

Image4

Eenmaal onze VBA-code opgeslagen, gaan we een sneltoetscombinatie om deze macro uit te voeren, toevoegen.
Klik hiervoor de knop “macro’s” in het lint.

Image5

In het venster kies je de macro, “OpslBestand” dus, en klik je de knop “Opties”.

Image6

In het tweede venster typ je een sneltoetscombinatie, en geef je eventueel een beschrijving in.
Klik de knop OK.
Nogmaals!
Wanneer je een sneltoetscombinatie intypt, vergewis je er dan eerst van of deze nog niet door Excel wordt gebruikt.

Image7

We gaan dit alles eens proberen.
Dus we typen wat gegevens in, en klikken de sneltoetscombinatie Ctrl + Shift + S

Image8

Het eerste deel heeft ie al goed gedaan.
Hij geeft het volgende factuurnummer, en de gegevens zijn verwijderd.

Image9

En wanneer we gaan kijken in de map “Facturen” op het Bureaublad, dan zal je zien dat de factuur daar is opgeslagen als een “normale” Excel-werkmap, dus met de extensie .xlsx.

Image10

Terug naar het vorige deel

Ter informatie: Swotster.com denkt aan zijn cursisten, denk ook aan Swotster.com

Formidabel U hebt Tip 086 - Deel 2 voltooid START VOLGENDE LES