• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Userform laten zien terwijl een macro loopt

  • Onderwerp starter Onderwerp starter MMV
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

MMV

Gebruiker
Lid geworden
6 mei 2008
Berichten
111
Beste allen,

Ik ben op dit moment bezig met een grote macro, nu wil ik een "please wait" schermpje laten zien. Ik heb op internet al wat gezocht naar een code die suitable is voor mijn issue, maar tot op heden niet kunnen slagen. Ik weet inmiddels dat dit met een Userform kan.

Mijn macro klopt, nu alleen nog zorgen dat mijn opgestelde Userform2 tijdens de macro naar voren komt.

Volgens een gebruiker zou het zo moeten kunnen:

Code:
    Userform2.Show 0
    
    Sheets("Export meldingen").Select
    Range("E28").Select
    ActiveSheet.ListObjects("Lijst1").UpdateChanges xlListConflictDialog
          
  
    Sheets("Actielijst").Select
    Range("AE2").Select
    Selection.Copy
    Range("AE2:AE1001").Select
    ActiveSheet.Paste
    Sheets("Reporting").Select
    
    Application.CutCopyMode = False
    
    Unload Userform2

Op deze manier zie ik echter wel mijn opstelde Userform2, echter het vlak blijft wit, en mijn toegevoegde tekst: "Please wait...." valt hierdoor weg.

Ik heb al bij instellingen gekeken, maar ik heb een vermoeden dat het ligt aan mijn userform, moet hier bijvoorbeeld nog een module achterhangen?

Ik zat te denken aan code met initiate, alleen ik weet niet wat ik in de body moet zetten.

Of denk ik nu in de verkeerde richting?

Groeten,

Mark
 
Beste allen,


Het is me gelukt, het "DoEvents" commando levert de gewenste resultaten op. Hij laad nu mijn opgestelde formulier goed en zonder witte lay-out!

Code:
Userform2.Show 0
    
    DoEvents
    
    Sheets("Export meldingen").Select
    Range("E28").Select
    ActiveSheet.ListObjects("Lijst1").UpdateChanges xlListConflictDialog
          
  Application.CutCopyMode = False
    
    Sheets("Actielijst").Select
    Range("AE2").Select
    Selection.Copy
    Range("AE2:AE1001").Select
    ActiveSheet.Paste
    Sheets("Reporting").Select
    
    Application.CutCopyMode = False
    
    Unload Userform2
        
End Sub

Bedankt voor het meedenken Finch!

Ik heb eerst geprobeerd om mijn please wait scherm te vervangen voor een progress bar, ik snapte er echter geen snars van, is voor verbetering vatbaar denk ik;)!

Groeten Mark
 
Vervang dit:

Code:
Application.CutCopyMode = False
    
    Sheets("Actielijst").Select
    Range("AE2").Select
    Selection.Copy
    Range("AE2:AE1001").Select
    ActiveSheet.Paste

al eens door:

Code:
Sheets("Actielijst").Range("AE2").Copy Sheets("Actielijst").Range("AE2:AE1001")

Select is over het algemeen niet nodig.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan