Toon posts:

excel VB op achtergrond uitvoeren

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

Verwijderd

Topicstarter
Beste tweakers...

Ik heb in excel een macro geschreven die gebruik maakt van een heleboel werkbladen. Terwijl deze macro wordt uitgevoerd zie je een hoop geflits op het scherm. Daar zou ik graag van af willen. Nou heb ik op google gezocht en daarna op tweakers.net... op tweakers.net bleek de oplossing te staan... lees volgend bericht:
Verwijderd schreef op woensdag 14 maart 2001 @ 08:16:
nou das dus mooi wel mogelijk
screenupdating = false
dat bovenaan toevoegen
en niet vergeten om
screenupdating = true
weer onderaan toe te voegen
anders ken je helemaal niets meer
Nou heb ik dit gebprobeerd en het werkt helaas niet... ik heb excel 2000 en mijn code ziet er ongeveer zo uit:
(dit is een klein stukje code van het hele script)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub alfab()
'
' alfab Macro
' De macro is opgenomen op 16-11-2004 door G.W.Groenhart.
'

'
    ScreenUpdating = False
    Range("B9:B23").Select
    Selection.Copy
    .....................(heel veel code hiertussen :) )
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("C2").Select
    ScreenUpdating = True
        
   
End Sub


Heeft iemand enig idee wat er mis is.... het lijkt mij dat de screenupdating commando zo aan het begin en aan het eind van het script is ingevoegd.

Thnx in advance :)

[ Voor 3% gewijzigd door Verwijderd op 24-11-2004 14:49 ]


Verwijderd

probeer eens
application.screenupdating=false
'...
application.screenupdating=true

zou moeten werken als de "heel veel code hiertussen" geen instructie bevat die schermverversing weer aanzet. mocht het onverhoopt toch niet werken kan ik wel een api aanleveren die nog iets grondiger z'n werk doet.

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 24 november 2004 @ 14:53:
probeer eens
application.screenupdating=false
'...
application.screenupdating=true

zou moeten werken als de "heel veel code hiertussen" geen instructie bevat die schermverversing weer aanzet. mocht het onverhoopt toch niet werken kan ik wel een api aanleveren die nog iets grondiger z'n werk doet.
Heretic, perfecto thnx
Is er iets wat ik voor jou kan doen?

[ Voor 3% gewijzigd door Verwijderd op 24-11-2004 15:12 ]


Verwijderd

Topicstarter
Na het uitschakelen van de screenupdate gaat de macro nu zo snel dat het net lijkt alsof er niets gebeurt. Het object met het opschrift even geduld aub is nu de enige flits op het scherm.
Mijn vraag nu is.

Is er een mogelijkheid om dat even langer in beeld te laten blijven?

een pauze commando of zo

[ Voor 5% gewijzigd door Verwijderd op 24-11-2004 16:23 ]


Verwijderd

probeer eens application.wait now+timevalue("0:00:05") om 5 seconden dat te tonen.
als je zin hebt in iets veel ingewikkelder, kan je een progress userformpje programmeren, maar dat vergt een geavanceerde kennis van vba - maar die kennis kan snel 'bijgegoogled' worden natuurlijk.
het kan noodzakelijk zijn de appl....s...u...=false opdracht wel te verplaatsen nàdat het even geduld venster getoond wordt.

Verwijderd

Topicstarter
Thanks again. Mijn appreciatie voor heretics neemt met sprongen toe.
Ben er nu wel helemaal uit

by the way: did you know that in some trouts you can find large universes?
Pagina: 1