Application.ScreenUpdating

Status
Niet open voor verdere reacties.

willema

Gebruiker
Lid geworden
26 aug 2005
Berichten
308
Dag allemaal,

onderstaande code selecteert twee maal een bereik en plakt dit één rijtje lager.
Vervolgens wordt de rij met de geselecteerde cel gewist. Ook twee maal.
Hierbij zijn ActieveRij, LaatsteRij en Laatstekolom correct gedeclareerde Integers.

Ik probeer om het scherm minder te laten flitsen (= het selecteren/deselecteren van de bereiken) door vooraan en achteraan Application.ScreenUpdating te gebruiken.
Waarom werkt dit laatste (= Application.ScreenUpdating ) niet ? Ik zie nog steeds razendsnel twee keer een blauw geselecteerd bereik voorbijflitsen.
De code wordt wel correct uitgevoerd, dus erg is het allemaal niet. Maar wel niet proper.

Code:
        Application.ScreenUpdating = False
        Range(Cells(ActieveRij, 3), Cells(LaatsteRij, 5)).Select
        Selection.Copy
        Cells(ActieveRij + 1, 3).Select
        ActiveSheet.Paste
        Range(Cells(ActieveRij, 10), Cells(LaatsteRij, LaatsteKolom)).Select
        Selection.Copy
        Cells(ActieveRij + 1, 10).Select
        ActiveSheet.Paste
        Range(Cells(ActieveRij, 3), Cells(ActieveRij, 5)).ClearContents
        Range(Cells(ActieveRij, 10), Cells(ActieveRij, LaatsteKolom)).ClearContents
        Cells(LaatsteRij + 1, 1).Select
        Application.ScreenUpdating = True
 
Laatst bewerkt:
Als je code plaatst dan graag de volledige code en dan het het beste in een voorbeeld bestandje!

Haal de select eens uit de code bv
Code:
Range(Cells(ActieveRij, 3), Cells(LaatsteRij, 5)).Select
        Selection.Copy

Aanpassen in
Code:
Range(Cells(ActieveRij, 3), Cells(LaatsteRij, 5)).Copy
 
Dankjewel VenA, ik probeer het zo.

Inderdaad, als er niet geselecteerd wordt, zal je ook de blauwe selecties niet zien flitsen.

De volledige code is enkele bladzijden lang, vandaar dat ik ze niet volledig heb gekopieerd en geplakt.
Maar wat het principe van hierboven betreft: Alle code dat tussen een Application.ScreenUpdating = False en een Application.ScreenUpdating = True staat, zou je in principe toch niet mogen zien passeren op het scherm ?
 
Gebruik in plaats van select bron , copy, select doel, paste , clearcontents bron

Code:
bron .cut doel
 
Dankjewel snb,

Zou kunnen ja. maar ik heb in het verleden soms problemen gehad met 'cut' m.b.t. formules, dat ik deze langere versie met 'copy/paste/clearcontents) sindsdien gebruik.
Maar ik ga het zeker uitzoeken. Net zoals alle andere tips die je al hebt gegeven :)

Maar even terug on-topic. Want alles werkt en ik ben er tevreden mee.
Ik zou graag leren waarom dat Screenupdating niet werkt. Ik heb het nogal gehad in code dat het scherm blijft worden ververst ondanks het regeltje aan het begin en einde.
 
maar ik heb in het verleden soms problemen gehad met 'cut' m.b.t. formules

Die lagen dan niet aan het gebruik van 'knippen/plakken", maar aan iets anders.
 
Niet opgelost, maar het forum vraagt me vriendelijk na 14 dagen deze status aan te nemen.
Ik laat het scherm nu flitsen, maar begrijp nog steeds niet waarom dat kan tussen Application.ScreenUpdating = False en Application.ScreenUpdating = True (zie bovenstaande code).
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan