Flitsen scherm

Status
Niet open voor verdere reacties.

Jeroen123456

Gebruiker
Lid geworden
3 jul 2007
Berichten
115
Ik heb een macro voor excel geschreven die regel voor regel gegevens van de ene excel sheet naar de excel sheet zet.

Ik doe dit met windows(bestand a.xls) .activate / kopieer data / windows(bestand b.xls) .activate / plak data enz.

Als de macro loopt zie je het scherm heen en weer flitsen van het ene bestand naar het andere en weer terug.
Dit ziet er wel "flitsend" uit maar volgens mij kost het ook kracht/tijd.

Volgens mij kun je dit heen en weer flitsen uitzetten.
Of kun je in plaats van copy plak ook dat uit ander bestand "grabben" zonder echt heen en weer te gaan naar het bestand te gaan?

Iemand een idee?

bvd!

Jeroen
 
Zonder voorbeeldbestandje kan ik je alleen de tip geven om te beginnen met application.screenupdating = False en te eindigen met application.screenupdating = True
 
Ha Daniel,

Dank voor je reactie.

Dat werkt en scheelt een hoop geflits, helaas scheelt het vrijwel geen verwerkingstijd.

Ik las ergens in reacties "vermijd windows.activate" in VBA. Weet jij wat een alternatief zou zijn?
 
Ik ben niet bepaald een expert, maar ik heb een klein voorbeeldje gemaakt. Zet beide bestanden in dezelfde map en stoei eens met de macro in tstA:
Code:
Sub kstr()
Dim a As Range, bst
bst = "tstB.xls"
Application.ScreenUpdating = False
With Workbooks.Open(ThisWorkbook.Path & "\" & bst).Sheets(1)
    Set a = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
    a.Copy
    ThisWorkbook.Sheets(1).Range("A1").PasteSpecial
    .Parent.Close True
End With
Application.ScreenUpdating = True
End Sub
 

Bijlagen

  • tstA.xls
    33,5 KB · Weergaven: 33
  • tstB.xls
    26,5 KB · Weergaven: 33
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan