Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Tekst weergeven en laten verdwijnen (msgbox?)

326 views
Skip to first unread message

Rita

unread,
Apr 29, 2003, 9:00:06 AM4/29/03
to
Als een bepaalde macro start wil ik een bericht weergeven
met de tekst dat er even moet worden gewacht. Dat bericht
zou (zonder dat de gebruiker iets doet) weer moeten
verdwijnen als de macro is uitgevoerd. Hoe kan ik dat
bereiken?
Ik weet wel dat je via een messagebox een bericht kunt
weergeven, maar daarnij moet je altijd op een knop drukken
("Ok" bv.) om verder te gaan. Dat wil ik eigenlijk niet.
Bij voorbaat dank voor de antwoorden.

PeterS

unread,
Apr 29, 2003, 9:16:20 AM4/29/03
to
Moet je zelf een userform aanmaken die je met
het navolgende commando kunt laten verschijnen en ook weer verdwijnen

UserForm1.Show
'jouw code
Unload UserForm1

--
Peter

"Rita" <ti10...@tiscali.be> schreef in bericht news:033e01c30e4f$42027b50$a001...@phx.gbl...

PeterS

unread,
Apr 29, 2003, 9:33:02 AM4/29/03
to
Voorbeeld op m'n site, op een na onderste.

http://home.planet.nl/~schni000/Excel/excel.htm

--
Peter

"PeterS" <Pe...@S.nl> schreef in bericht news:%234aAIGl...@TK2MSFTNGP12.phx.gbl...

Rita

unread,
Apr 29, 2003, 9:52:48 AM4/29/03
to
Hartelijk dank Peter voor de snelle reactie.
Ik ga het proberen.
Rita

>.
>

Rita

unread,
Apr 29, 2003, 11:48:11 AM4/29/03
to
Ik heb nu in een userform een label gemaakt en in mijn
macro volgende code opgenomen:

Load userform1
Userform1.show
......Hier (overige) code vd macro
unload userform1

Het label wordt wel getoond, maar ondertussen loopt de
macro niet verder. Dat gebeurt pas als ik het label via
het kruisje rechtsboven laat verdwijnen. Maar het is juist
de bedoeling dat het label blijft staan tot de macro is
uitgevoerd. Wat doe ik fout? Moet er misschien bij de
eigenschappen van het userform nog iets worden ingesteld?
En vraag 2: Is het ook mogelijk om een label zonder
kruisje rechtsboven te maken?


>-----Oorspronkelijk bericht-----

>.
>

Luc.Heyndrickx

unread,
Apr 29, 2003, 12:08:56 PM4/29/03
to
Rita,

Laat het ons voorlopig al met dat kruisje doen. Dat is het eenvoudigste.
Uw macro moet er dan als volgt uitzien:

Sub EenMacro()
Userform1.Show
End Sub

Dat is dus het eerste deel... niet meer en niet minder.
Tweede deel:
Dubbelklik in de VBA-editor op het Userform, en plak daarin volgende code:

Private Sub UserForm_Activate()
DoEvents
' Uw Macro
Unload Me
End Sub

Op de plaats van Uw Macro moet dus ook uw macro komen. Uw macro staat dus
niet in een module, maar in het UserForm zelf.

Luc

"Rita" <ti10...@tiscali.be> schreef in bericht

news:050901c30e66$bca1a8b0$3001...@phx.gbl...

PeterS

unread,
Apr 29, 2003, 12:23:54 PM4/29/03
to
Userform1.Show 0 ' <= nul
'\
' rest van de code
'/
Unload Userform1

--
Peter

"Rita" <ti10...@tiscali.be> schreef in bericht ...

Rita

unread,
Apr 29, 2003, 1:26:11 PM4/29/03
to
Luc, ook jij enorm bedankt voor je oplossing.
Zowel de methode van Luc als die van Peter werken prima.
Is er eigenlijk een methode die om een of andere reden de
de voorkeur verdient?
Bij voorbaat dank,
Rita.

>-----Oorspronkelijk bericht-----


>Ik heb nu in een userform een label gemaakt en in mijn
>macro volgende code opgenomen:
>
>Load userform1
>Userform1.show

>.......Hier (overige) code vd macro

>.
>

PeterS

unread,
Apr 29, 2003, 1:40:47 PM4/29/03
to
Die met dat nulletje aan het eind (not modal) is pas nieuw vanaf versie 2000.
Is ook een setting in de properties.(ShowModal)

Als je die op false zet kun je ook gewoon werken met een userform in beeld.
Dus wisselen tussen werkbladen, effe iets uitrekenen en zo.

Ik gebruik 'm veel, om realtime dingen te tonen, terwijl men bezig is.
Zo loopt de macro nl ook gewoon door, en kun je (bijna) twee dingen tegelijk.

De methode van Luc vind ik iets omslachtiger.

--
Peter

"Rita" <ti10...@tiscali.be> schreef in bericht news:05dc01c30e74$6d9851c0$a001...@phx.gbl...


> Luc, ook jij enorm bedankt voor je oplossing.
> Zowel de methode van Luc als die van Peter werken prima.
> Is er eigenlijk een methode die om een of andere reden de
> de voorkeur verdient?
> Bij voorbaat dank,
> Rita.
>
> >-----Oorspronkelijk bericht-----
> >Ik heb nu in een userform een label gemaakt en in mijn
> >macro volgende code opgenomen:
> >
> >Load userform1

> >Userform1.show 0

> >>>> UserForm1.Show 0

Luc.Heyndrickx

unread,
Apr 29, 2003, 1:41:37 PM4/29/03
to
Rita,

Ik denk dat de methode van Peter de voorkeur verdient. Ik heb er geen
duidelijk bewijs voor, maar heb hier ooit in de nieuwsgroep gehoord dat het
beter is zo veel mogelijk code in modules te plaatsen, en zo weinig mogelijk
in de programmacode van ThisWorkbook; de Sheets of UserForms.
Zeker als je ook nog eens de VBA Code Cleaner van Rob Bovey wenst te
gebruiken.

Luc

"Rita" <ti10...@tiscali.be> schreef in bericht

news:05dc01c30e74$6d9851c0$a001...@phx.gbl...

Luc.Heyndrickx

unread,
Apr 29, 2003, 1:44:19 PM4/29/03
to
Aha,

onze meningen waren dus gelijk. Uw code is beter... maar... zoals je het nu
stelt: Als uw file ook nog eens op een andere computer moet draaien met een
oudere Office versie zal het dus niet lukken.

Luc

"PeterS" <Pe...@S.nl> schreef in bericht

news:Oqb36ZnD...@TK2MSFTNGP11.phx.gbl...

PeterS

unread,
Apr 29, 2003, 2:19:05 PM4/29/03
to
Luc,
Ik heb niet gezegd dat de ene code _beter_ is dan de andere.
Wel heb ik gewezen op de extra mogelijkheden die nu geboden worden,
mits je er gebruik van kunt maken.

De DoEvents-methode verdient inderdaad de voorkeur als je de
gebruiker, en/of de Excel-versie niet kent.

--
Peter

"Luc.Heyndrickx" <lucDitVerwijd...@skynet.be> schreef in bericht
news:eWhyodn...@TK2MSFTNGP11.phx.gbl...

Luc.Heyndrickx

unread,
Apr 29, 2003, 2:18:52 PM4/29/03
to
Klopt, jij hebt dat niet gezegd, maar ik wel. Ik was eerst van mening dat
uw code beter was (en in sommige gevallen ben ik daar nog van overtuigd.)

De groeten
Luc


"PeterS" <Pe...@S.nl> schreef in bericht

news:u9qXUvnD...@TK2MSFTNGP10.phx.gbl...

Rita

unread,
Apr 29, 2003, 2:45:38 PM4/29/03
to
Luc en Peter,
Bedankt voor jullie bijdragen. Ik heb weer heel wat
opgestoken vandaag.
Luc, - als het niet te veel gevraagd is -, wat behelst
die "VBA Code Cleaner van Rob Bovey" precies?

B.v.d.
Rita

>-----Oorspronkelijk bericht-----

>.
>

Luc.Heyndrickx

unread,
Apr 29, 2003, 2:58:34 PM4/29/03
to
Rita,

Dit is een invoegtoepassing, af te halen op volgende site:
http://www.appspro.com/utilities/Cleaner.asp
De Code Cleaner verwijdert overbodige ballast uit uw codes, zodat uw bestand
kleiner wordt. Aan de macro's zelf zal je niets merken, maar je zal wel
zien dat uw bestand iets kleiner wordt na het runnen van deze
invoegtoepassing.
Naar het schijnt (Sorry als ik verkeerd ben, ik heb het ook maar van hier te
lezen), blijven er sporen achter in uw bestanden door er mee te werken. Dit
neemt ruimte in beslag. Deze invoegtoepassing verwijdert deze sporen terug,
maar kan dit niet met VBA-code achter Sheets, ThisWorkbook en UserForms.

Wie denkt dat de zaken anders zijn mag het altijd zeggen. Ik ben benieuwd.

Luc

"Rita" <ti10...@tiscali.be> schreef in bericht

news:00bb01c30e7f$8714d230$a501...@phx.gbl...

Rita

unread,
Apr 29, 2003, 5:02:42 PM4/29/03
to
Luc, ontzettend bedankt dat je zoveel moeite hebt willen
doen voor al die uitleg!
Rita

>-----Oorspronkelijk bericht-----

>.
>

0 new messages