[Excel] Pop-up scherm voor printbevestiging?

Pagina: 1
Acties:
  • 493 views sinds 30-01-2008
  • Reageer

  • Kiebus
  • Registratie: April 2003
  • Laatst online: 23-12 12:49
Ik ben voor mijn stage bezig met een zeer uitgebreid excel bestand. In dit bestand heb ik op het voorblad een knop opgenomen die gekoppeld zit aan een macro. Als er op deze knop geklikt wordt, wordt het volledige document uitgeprint. (Dit heb ik weten te maken door het printen op te nemen door een macro... )

Echter nu wil ik graag dat, voordat excel gaat printen, er een pop-up boxje komt met de vraag; "zijn alle gegevens correct ingevuld?" En dan daaronder een ja/nee knop. Wordt er op ja geklikt, dan printen. Bij nee, terug naar het invoerscherm.

Ik heb uitvoerig de search van tweakers, excel en google gebruikt, maar ik kom er niet uit. Bovendien ben ik absoluut geen held met macro's. Een macro opnemen lukt me nog wel, maar daarna heb ik het ver gehad. :P
Ik heb gevonden dat er iets van een messagebox moet zijn binnen excel, maar verder dan dat kom ik niet.

Dus wie kan me hiermee helpen? :)

  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Je kan in een macro met een messagebox een waarde terugkrijgen en daarmee iets uitvoeren, zie deze link:

http://www.exceltip.com/s..._Microsoft_Excel/415.html

Maar ff snel wat gebrouwen:

Sub Message()
Dim a As String
a = MsgBox("Do you klick yes or no?!", vbYesNo, "Hi")
If a = vbNo Then
ActiveWorkbook.PrintOut
Else
MsgBox "You klicked: Yes!"
End If
End Sub

[ Voor 98% gewijzigd door Batsies op 24-06-2004 23:26 . Reden: Link added ]

E-Developing


  • Kiebus
  • Registratie: April 2003
  • Laatst online: 23-12 12:49
Hey Batsies,

Super bedankt! Het werkt Top.

Alleen zoals ik al schreef, ben ik geen held met macro's en vba. Dus ik heb het denk ik met een kleine omweg gedaan. Ik heb een nieuwe macro opgenomen, deze meteen gestopt en daarna aangepast (jouw tekst erin geplakt en aangepast O-) )
Ik neem aan dat dit ook makkelijker in een keer moet kunnen. Alleen weet ik dus niet hoe je in vba een "nieuwe" maakt zeg maar. |:(

Maar nogmaals bedankt, wat ik wil werkt!


[edit typo]

[ Voor 5% gewijzigd door Kiebus op 25-06-2004 08:50 ]


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 17:15
Kiebus schreef op 24 juni 2004 @ 15:11:
Ik ben voor mijn stage bezig met een zeer uitgebreid excel bestand. In dit bestand heb ik op het voorblad een knop opgenomen die gekoppeld zit aan een macro. Als er op deze knop geklikt wordt, wordt het volledige document uitgeprint. (Dit heb ik weten te maken door het printen op te nemen door een macro... )
Je hebt dus een macro, laten we zeggen dat ding heet "Pietje".
(Hoe die echt heet kan je controleren door naar die knop te gaan - rechter muisknop - assign macro oid.)
Dan ga je naar je je visual basic editor. In een van je modules moet ergens
code:
1
2
3
4
 Sub pietje()
bla bla
nog meer bla bla
End sub

staan.
Die moet je veranderen met Batsies' ding:

code:
1
2
3
4
5
6
7
8
9
10
11
12
 Sub pietje()
Dim a As String
a = MsgBox("Alles OK?!", vbYesNo, "Hi")
If a = vbNo Then
  'nee geklikt->afsluiten
  Exit sub 'dit commando zorgt ervoor dat je macro 
  'direct stopt en de gebruiker weer kan gaan typen.
End If
'ja geklikt-> lekker door laten lopen
bla bla
nog meer bla bla
End sub

  • Kiebus
  • Registratie: April 2003
  • Laatst online: 23-12 12:49
Zoals ik al beschreef was dat inderdaad al duidelijk ja, het is me immers ook al gelukt, het werkt!

Alleen wat ik me nog afvroeg is het volgende; "je hebt dus een macro" ... Hoe kun je op een simpele manier een nieuwe macro aanmaken in VBE?

Ik heb het gevoel dat ik het met een omweg heb gedaan. Ik heb gewoon willekeurig op de knop macro opnemen gedrukt, daarna niets gedaan en meteen gestopt. DEZE macro heb ik aangepast met de gegeven code. Dit werkt dus prima, alleen zoals ik al aangaf, ik heb het gevoel dat dat een beetje een omslachtige manier is, of niet?

  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Alt+F11 en dan een nieuwe beginnen

E-Developing


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 17:15
Yep, gewoon in het scherm waarin je de inhoud van je macro's ziet. type ergens Sub [de naam van je macro] [enter] , eronder wordt autoelectrisch End Sub geplakt en typen maar!

  • Kiebus
  • Registratie: April 2003
  • Laatst online: 23-12 12:49
hey jongens bedankt tot nu toe voor de info, het lukt geweldig!

Had alleen nog een vraagje, hoe kun je in de "prompt" van een msgBox een tweede regel maken? Dus met andere woorden: De vraagstelling in de msgBox wil ik graag uit 2 (of meer) regels laten bestaan, omdat die anders veels te lang wordt. Ik heb al gevonden dan dit met iets van "(chr(13))" moet. Alleen ik krijg alleen maar foutmeldingen.

Kan iemand mij uitleggen hoe je dat moet doen? :)

  • Pink Panther
  • Registratie: Juni 2003
  • Laatst online: 14-11 14:07
msgbox "regel1" & vbCr & "regel2"

  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Ja, misschien werkt /n ook wel, weet ik eigenlijk niet

E-Developing


  • Kiebus
  • Registratie: April 2003
  • Laatst online: 23-12 12:49
als ik de VBA help functie gebruik (ja ik ben erachter gekomen dat er een verschil is tussen de help in excel zelf en de help in VBA 8)7 |:( ) dan kom ik hetvolgende tegen:
MsgBox, functie


Geeft een bericht weer in een dialoogvenster, wacht totdat de gebruiker een knop kiest en geeft als resultaat een Integer-waarde die aangeeft welke knop de gebruiker heeft gekozen.

Syntaxis

MsgBox(prompt[, knoppen] [, titel] [, helpbestand, context])

De functie MsgBox heeft de volgende benoemde argumenten:

Onderdeel Beschrijving
prompt Vereist. Een tekenreeksexpressie die wordt weergegeven als het bericht in het dialoogvenster. De maximumlengte van prompt is ongeveer 1024 tekens, afhankelijk van de breedte van de gebruikte tekens. Neem tussen elke regel een regelterugloop (Chr(13)), regelinvoer (Chr(10)) of een regelterugloop-regelinvoer (Chr(13) & Chr(10)) op wanneer prompt uit meer dan één regel bestaat.
Dus eens ff kijken of we hier verder mee kunnen. :P
Pagina: 1