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

Draai tabel verversen als blad beveiligd is

Status
Niet open voor verdere reacties.

Bereboot

Gebruiker
Lid geworden
29 jul 2015
Berichten
35
Heb een werkmap met draaitabellen Nu zitten daar een aantal formules in die niet aangepast mogen worden.
Dus ik denk ik beveilig het werkblad. Maar als ik nu de gegevens wil verversen gaat dat niet.
Hoe kan ik dit oplossen.
 
sla de werkmap op als .xlsm of .xlsb (dus met macro's geactiveerd) en zet dit achter het betreffende tabblad:
Code:
Private Sub Worksheet_Activate()
    ActiveSheet.Unprotect
    ActiveSheet.PivotTables(1).PivotCache.Refresh
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True, AllowUsingPivotTables:=True
End Sub
 
De code plaatsen Is dit juist zo

Moet je dat doe bij alle tabbladen?
Is dit de juist zo als ik dit hebt gedaan?
 

Bijlagen

  • Code.JPG
    Code.JPG
    119,2 KB · Weergaven: 334
ja, dat moet bij elke tabblad waar een draaitabel op staat en zo te zien heb je het op de juiste plaats gezet
 
Krijg deze foutmelding

Heb op alle tabbladen waar een draaitabel in voorkomt deze code geplakt.
Ik krijg nu een foutmelding bij het verversen van de gegevens.
 

Bijlagen

  • fout.JPG
    fout.JPG
    48,4 KB · Weergaven: 194
plaats eens een uitgeklede kopie van je bestand, waar geen "gevoelige info meer in voorkomt.
 
Test werkmap

Hierbij de test werk map


Als op het tabblad in de kolom Taak een S, SL,O of U wordt geplaatst heeft dat gevolgen voor de plattegrond tekening van de verdiepingen.
 

Bijlagen

Als er een wachtwoord op die bladen zit moet je die wel meegeven achter ActiveSheet.Unprotect
Dus: ActiveSheet.Unprotect "WachtWoord"
 
fout.JPG

Krijg nog steeds een fout melding.
waar gaat het nog niet goed
Heb het wachtwoord ingegeven
met haakjes, zonder haakjes en zoals het staat.
 
Je hebt alleen draaitabellen achter de bladen Medewerkers en Totaalblad.
Je zal dus op moeten geven welke draaitabel op welk blad je wilt verversen.
Nu doe je dat bij ieder blad en zal het fout gaan omdat daar PivotTables(1) niet kan worden gevonden.
 
Laatst bewerkt:
Ik heb ook draaitabellen op de tabbladen van de verdiepingen vanaf AI

En op alle tabblad waar draaitabellen op staan deze programmacode staan




Worksheet Activate
Private Sub Worksheet_Activate()
ActiveSheet.Unprotect "ik"
ActiveSheet.PivotTables(1).PivotCache.Refresh
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True, AllowUsingPivotTables:=True
End Sub
 
Ik heb inderdaad niet goed gekeken ;)
Zo te zien is het vervesen van een draaitable afhankelijk van het toegankelijk zijn van een andere dan het actieve blad.
Probeer het dus eens zo:
Code:
    For Each sh In ThisWorkbook.Sheets
        Sheets(sh.Name).Unprotect "ik"
    Next sh

    For Each pvt In ActiveSheet.PivotTables
        PivotTables(pvt.Name).PivotCache.Refresh
    Next pvt
 
Je moet niet de gehele pivotcache vernieuwen, maar alleen de draaitabel zelf:
Code:
Private Sub Worksheet_Activate()
    Me.Unprotect "ik"
    Me.PivotTables(1).RefreshTable
    Me.Protect "ik"
End Sub
 
Krijg het niet voor elkaar

Maar heb nu de draaitabellen op een ander tabblad gemaakt die verborgen worden en dan gaat het ook.

Voor nu probleem opgelost.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan