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

Groeperen en zichtbaar maken van kolommen als werkbladbeveiliging is insgeschakeld

Status
Niet open voor verdere reacties.

Amadee

Gebruiker
Lid geworden
22 sep 2002
Berichten
17
Ik heb een aantal kolommen beveiligd en een aantal kolommen waarin handmatig data gezet kan worden. Heb een groeperng op de kolommen zitten, maar deze werkt niet meer als ik de werksheet beveilig. Weet iemand hier een oplossing voor?
 
Volgens mij kan dat alleen met VBA. Je kunt de volgende code opnemen in "ThisWorkbook". Bestand moet worden opgeslagen als .xlsm en degene die hem opent moet macro's inschakelen.

Code voor "Sheet1":
Code:
Private Sub Workbook_Open()
    With Worksheets("Sheet1")
        .EnableOutlining = True
        .Protect UserInterfaceOnly:=True
    End With
End Sub
 
Hoi Peter, bedankt voor je bericht. Ik krijg dit idd werkend, maar is het ook mogelijk voor meerdere tabbladen tegelijk en is het mogelijk om de filterfunctie ook te behouden?
 
Hoi Harry, ik heb je oorspronkelijke link gevolgd. Ik krijg echter maar 1 tabblad beveiligd en gegroepeerd ( onderstaand dus alleen P1) Wil dit ook voor P2, P3, P4, P5, P99 en P Totaal,

Heb niet veel verstand van VBA, maar is dit makkelijk op te lossen?

Private Sub Workbook_Open()
With Sheets("P1")
.Protect UserInterfaceOnly:=True
.EnableOutlining = True
End With
End Sub
 
In de openingsvraag staat de code al.
 
Gebruik bij voorkeur geen spaties als ze niet nodig zijn. Scheelt vaak in de lengte van formules en code. Als je iets wilt doen voor een paar tabjes dan kan je deze in een array zetten.

Met spaties in de naam
Code:
Private Sub Workbook_Open()
  For Each sh In Sheets(Array("P1", "P2", "P3", "P4", "P5", "P99", "P Totaal"))
    sh.Protect UserInterfaceOnly:=True
    sh.EnableOutlining = True
  Next sh
End Sub

Zonder spaties in de naam
Code:
Private Sub Workbook_Open()
  For Each sh In Sheets(Split("P1 P2 P3 P4 P5 P99 P_Totaal"))
    sh.Protect UserInterfaceOnly:=True
    sh.EnableOutlining = True
  Next sh
End Sub
 
Was niet al te moeilijk he. :d
 
@HSV
Eigenlijk best wel:d EnableOutlining staat niet in de 'members of protection' en is alleen te vinden in 'members of worksheets'. Gezien het aantal vragen dat hierover gesteld worden vind ik het een rare keuze van MS dat dit nog steeds niet in de standaard beveiligingsopties is opgenomen.
Ik geef een antwoord op de vraag hoe je dit kan toepassen op een aantal sheets wat in #5 staat. Het linkje in #4 geeft er geen antwoord op.
 
Super hoor. Werkt prima, heb eigenlijk alleen nog 1 kleinigheidje, er zit een filter op die ook niet meer werkt bij de beveiliging. Is dit ook te omzeilen, zodat dit wel werkt tijden beveiliging
 
@VenA,

#6 gemist? :)

Code:
sh.Protect UserInterfaceOnly:=True,[COLOR="#0000FF"] allowfiltering:=true[/COLOR]
 
Laatst bewerkt:
Vraagt steeds het wachtwoord als ik het bestand open

Hallo, mag ik nog een kleine vraag strellen. Bovenstaande macro werkt perfect, echter tijdens het opstarten van het bestand vraagt hij om het beveiligingswachtwoord. Is er evt een mogelijkheid deze ook te onderdrukken? ( door het wachtwoord ergens de VBA te plaatsen...)
 
Er zit geen wachtwoord op je beveiligde bladen, waarom je die melding krijgt begrijp ik niet helemaal.
 
Hoi Harry, sheets zijn beveiligd met een wachtwoord. Deze macro heb ik destijds van jou gekregen, om een met wachtwoord beveiligde sheet toch met groeperingen en filters te kunnen werken. Als Ik opstart vraagt hij mij om een wachtwoord van de beveiliging en dan start hij op. De sheets zijn op dat moment wel beveiligd, maar ik wil eigenlijk niet dat hij om dat wachtwoord vraagt, omdat iemand anders met dit bestand moet werken.
 
Geen idee van wie die code is en wat het doet.
Zo plaats je het wachtwoord zo bij unprotect.
Code:
 sh.unProtect Password:="wachtwoord"
of
Code:
 sh.nnProtect "wachtwoord"

Bij het beveiligen gaat dat ook zo, maar of het werkt wat jij bedoelt?
Code:
 sh.Protect Password:="wachtwoord", UserInterfaceOnly:=True, AllowFiltering:=True
 
Hoi Harry, wederom super bedankt. Misschien een vreemde vraag en weet eigenlijk ook niet of hij hier thuis hoort, maar geef jij ook trainingen of soortgelijke dingen mbt excel of aanverwante software?
 
Nee, ik geef geen trainingen.

Alhoewel ik wel al links en rechts wat gevraagd ben door bedrijven waar ik kom.
Als ik zie dat ze met Excel werken, vraag ik of ze wel eens met macro's e.d. werken; Dan hoor ik zo nu en dan dat ze veel van Helpmij.nl plukken.
Dan komen de verhalen los.

Daar blijft het voorlopig maar bij denk ik.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan