printopdracht (keuze) in een macro excel (vba)

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
947
Hallo allen,

Ik ben nu al een tijd bezig met vba-programmeren in excel maar weet niet hoe ik via "if en else" een vraag moet stellen om te printen of niet te printen.

Op dit moment print het programma altijd, maar dat wil ik dus verandert hebben dat er via de macro de vraag gesteld wordt of ik wil printen of niet, bij keuze is ja dan volgt er een print en bij keuze nee dan gaat hij zonder te printen verder.

Wie kan mij helpen?
 
Hallo Robert,

Wellicht kun je hier iets mee:

Code:
Dim A as String

A = MsgBox("Do you want to Print this file?", vbYesNo, "")

If A = vbYes Then
     Application.Dialogs(xlDialogPrinterSetup).Show
     Activesheet.PrintOut
End If
 
Dank je,

A.s. maandag heb ik pas de beschikking over een printer en kan deze dan pas uittesten. Ik vraag me wel af wat je in moet toetsen, volstaat het met Y en N en wat gebeurd er wanneer je nee kiest, dat kan ik niet helemaal uit de code herleiden.
 
Ok, ik zal mijn paar regels iets beter toelichten:

De onderstaande regel geeft een pop-up schempje met de tekst "Do you want to Print this file?" en de knoppen "Yes" en "No". Wanneer je op "Yes" klikt, wordt de waarde van de string A vanzelf "Yes" en anders "No".

Code:
A = MsgBox("Do you want to Print this file?", vbYesNo, "")

Wanneer op "Yes" geklikt is zullen de volgende vier regels worden gebruikt, zo niet slaat de macro deze over en gaat hij verder met de rest van de script (gezien je vroeg" ...bij keuze nee dan gaat hij zonder te printen verder.")

Code:
If A = vbYes Then
     Application.Dialogs(xlDialogPrinterSetup).Show
     Activesheet.PrintOut
End If

Dialogs.Show geeft je een schermpje waarmee je kan kiezen welke printer je wilt gebruiken, Activesheet.PrintOut print je huidige sheet (je kunt ook een range gebruiken, of meerdere sheets, enz.)

Succes!
 
Dank je voor je heldere uitleg,

Is het ook mogelijk dat je i.p.v. Yes en No ook Ja en Nee kunt gebruiken?
 
De macrotaal is VBA.
De elementen van VBA bestaan uit Engelstalige elementen en getallen.

de code

Code:
    If MsgBox("Afdrukken") = vbYes Then activesheet.printout
kan ook geschreven worden als

Code:
    If MsgBox("Afdrukken ?") = 6 Then Then activesheet.printout
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan