• 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.

application screenupdating

Status
Niet open voor verdere reacties.

Egbert12345

Gebruiker
Lid geworden
13 dec 2010
Berichten
465
Beste forummers,

In Excel 2010 heb ik een ledenadministratie gebouwd en gebruik veelvuldig in VBA application.screenupdating=false. Nu ben ik overgegaan naar Excel 2016 en nu werkt dat commando niet meer. Is daar soms een andere codering voor in de plaats gekomen? Ik kan geen voorbeeld laten zien, want het is redelijk complex in zijn totaliteit.

gr Egbert
 
Hoi Egbert,
Ik werk met 2016 en deze werkt probleemloos.
Code:
Application.ScreenUpdating = False
 
Excel 2016 heeft waat "nukken" met de weergave inderdaad. Het enige dat je kan doen is her en der nogmaals screenupdatinng expliciet weer uit te zetten. Wat ook kan helpen is een leeg tabblad gebruiken en dat eerst selecteren voordat de rest van je macro runt.
 
Als de code goed geschreven is, dan is het vaak niet nodig om screenupdatinng uit te zetten. Het niet kunnen laten zien van de code omdat het nogal complex is zal zin 1 wel bevestigen. Dus plaats de code even.
 
Beste forummers, ik ben bezig met het verbeteren van mijn ledenadministratie en schiet aardig op, maar loop tegen (voor mij) onverklaarbare problemen aan. Ik heb een kleine testmap als bijlage toegevoegd. Let niet op de vraag om koppelingen bij te werken.
Wat er nu gebeurt is dat ik het lint snelle toegang niet meer met mijn linkermuisknop kan benaderen. Hebben jullie enig idee wat de oorzaak daarvan kan zijn?

m.vr.gr Egbert
 

Bijlagen

  • TESTMAP.xlsm
    39,8 KB · Weergaven: 67
Ik zou verwachten dat dit te maken heeft met iets in VBA? Het is wel een XLSM maar ik zie geen macro's. Iets teveel verwijderd uit het voorbeeld?

En is dit probleem ook specifiek met Excel 2016?
 
Dat klopt Peter, ik dacht het helemaal uitgekleed te hebben, maar toch nog niet. Nu ik wel heel veel dingen verwijderd heb, doet het probleem zich niet meer voor. Ik ga uitzoeken wat de oorzaak is. Bedankt, want voorlopig heb je mij de goede richting in geholpen door je opmerking. Gr. Egbert
 
Ah, dit was de dader in een macro: ActiveWindow.DisplayHeadings
m.vr.gr. Egbert
 
Het probleem blijkt toch niet opgelost te zijn. afdrukvoorbeeld en afdrukken.JPG
Ik heb een jpeg als voorbeeld bijgevoegd, maar zal het ook omschrijven. Wat is nu het probleem?
Voor een vereniging heb ik een ledenadministratie gebouwd dat te lastig is om als bijlage toe te voegen en het bestaat onder andere uit heel veel macro's. Het werkte onder excel 2010 probleemloos, maar excel 2016 levert de nodige problemen op.
In een macro heb ik de opdracht "ActiveWindow.SelectedSheets.PrintPreview" opgenomen en die wordt wel uitgevoerd, maar de werkbalk snelle toepassing en het lint worden geblokkeerd. Je kan nu bijvoorbeeld geen printerkeuze etc. selecteren. In de macro zitten, voor zover ik zie, geen gekke dingen zoals balken uitzetten etc.
Als ik het bewuste werkblad handmatig selecteer en dan alleen bovengenoemde opdracht (in een losse macro) uitvoer, dan werkt het allemaal wel.
Enig idee wat de oorzaak kan zijn? m.vr.gr. Egbert
 
Bij mij krijg ik in Excel 2010 exact hetzelfde "menu" als ik afdrukvoorbeeld op full screen open, niet anders dan het in 2016 is dus.
 
Waarom zet je de printerkeuze niet in de macro ?
In macro's gebruik ik nooit printpreview.
 
Ik gebruik printpreview omdat ik het twee keer opneem, namelijk de eerste keer om een brief te printen en daarna de brief (handmatig) als PDF te kunnen opslaan. Ik kies dan de printer Microsoft to PDF.

De bewuste macro heb ik zojuist opnieuw getest door bijvoorbeeld printpreview bovenaan op te nemen en te kijken wat er dan gebeurt, hetzelfde probleem dus. Voorts probeer ik te begrijpen waarom excel 2016 nu anders reageert dan excel 2010. Dezelfde macro loopt daar namelijk probleemloos.

PS Jan Karel, als ik printpreview als enige opdracht opneem in een macro dan gaat het wel goed, maar zodra die onderdeel uitmaakt van de grotere macro, dan is het drama
 
Je kunt het bestand als PDF opslaan met exporttofixedformat 0, bestandsnaam.
Daar hoeft geen gebruiker aan te pas te komen.
 
Bedankt voor deze tip, maar ik probeer te achterhalen waarom er nu problemen zijn met printview.

Overigens ben ik niet echt gelukkig met excel 2016, want ook application.screenupdating doet vervelend. Onder excel 2010 was het wisselen tussen twee werkbladen niet zichtbaar (mijn programma bevat namelijk twee bestanden, één met de macro's en de tweede met een database). Nu kan ik wel weer code regels gaan inbouwen dat de database verborgen word en zodra het wordt gebruikt zichtbaar is, maar dat is effe een klus). Zoals ik al aangaf werkte het voorheen probleemloos. Wordt weer puzzelen.
 
Beste SNB, welke coderegel moet ik gebruiken om de printerkeuze in de macro te zetten?
 
nogmaals, als je een pdf wil maken hoef je geen andere printer te kiezen. Wel natuurlijk als je voor afdrukken eerst een andere (echte fysieke) printer wilt laten kiezen.
Code:
Application.Dialogs(xlDialogPrinterSetup).Show
 
Beste Jan Karel, dit helpt mij enorm en kan ik wel inbouwen, maar nog een vraag. Ik heb een klein voorbeeldje gemaakt (zie bijlage).

Als ik nu, na Application.Dialogs(xlDialogPrinterSetup).Show, de knop annuleer gebruik, dan gaat de macro toch door. Hoe kan ik dat oplossen?

gr Egbert
 

Bijlagen

  • test printen.xlsm
    14,9 KB · Weergaven: 53
Hierbij je code in verbeterde vorm :)
Code:
Sub test()
    On Error GoTo foutmelding
    If Application.Dialogs(xlDialogPrinterSetup).Show Then
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
    End If
opruimen:
    'hier code die dingen opruimt na je macro
    Exit Sub
foutmelding:
    MsgBox "xxx"
    Resume opruimen
End Sub
 
Bedankt maar weer Jan Karel, mag ik je nog een aanvullende vraag stellen in het kader van application.screenupdating?

Binnen mijn programma werkt het niet zoals ik wil en dat zal ongetwijfeld aan mijzelf liggen. Nu kan ik mij herinneren dat onder Excel 2010 de mogelijkheid werd geboden om standaard in te stellen dat, wanneer er sprake was van twee geopende excelsheets , alleen het eerste blad zichtbaar werd gemaakt. Je zag dus niet op de taakbalk het tweede blad. Ik heb mij "gek gezocht", maar kan die instelling niet meer vinden onder de opties. Bestaat die wellicht niet meer? Ik wil namelijk niet de functie "verbergen"gebruiken om allerlei redenen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan