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

Gegevens werkmap extern aanbieden/weergeven

Status
Niet open voor verdere reacties.

Unplugged

Gebruiker
Lid geworden
10 dec 2018
Berichten
51
Voor mijn werk maak ik de werkroosters in Excel.
Op een andere afdeling gebruikt iemand deze roosters om er voor die afdeling een afgeleide te maken, waarin hij ook eigen aanvullingen zet.

We werken in dezelfde Sharepointomgeving.
Ik heb in mijn rooster een extra werkblad gemaakt dat mijn collega zó kan gebruiken, maar ik wil hem alleen toegang geven tot dat tabblad, en niet tot de rest van de werkmap. Als er fouten in het rooster worden gemaakt, maak ik ze liever zelf, dan dat een ander per ongeluk dat doet...
1. Is het mogelijk om deze persoon alleen toegang te geven tot dat extra tabblad? Zo ja, dan ben ik benieuw hoe dat moet.
2. Als dit niet mogelijk is, is het dan mogelijk om het werkblad één op één te koppelen met zijn werkmap, zodat hij ermee aan de slag kan? Bestaat er een mogelijkheid in Excel om de waarden die ik in het rooster zet, automatisch te exporteren naar de werkmap van mijn collega? Als ik iets wijzig in het rooster, dat het bij hem ook direct gewijzigd wordt?
 
In de ThisWorkbook sectie:
Code:
Private Sub Workbook_Open()
    For Each sh In ThisWorkbook.Sheets
        If Environ("username") <> "Unplugged" And sh.Name <> "BladnaamVoorCollega" Then
            sh.Visible = xlSheetVeryHidden
        Else
            sh.Visible = True
        End If
    Next sh
End Sub
En je VBA project beveiligen met een wachtwoord.
 
Laatst bewerkt:
Bedankt!
Nu gebruik ik nooit VBA (behalve een enkele keer in Word als ik een macro gemaakt heb).
Werkt dit altijd 'on open' (om het met Google Script te zeggen) of moet je dit nog apart starten?
En als ik het goed zie, worden de andere werkbladen verborgen als iemand anders dan ik hem open. Kun je ook de andere werkbladen onbewerkbaar maken, zodat diegene wel de achterliggende roosters kan zien.

En om het het nog een beetje te compliceren: er zijn ook nog medewerkers die wél in mijn rooster mogen komen om daarin aanpassingen te doen. Hoe geef ik die toegang?

Ik denk aan blacklisting: iedereen heeft toegang die via Sharepoint toegang gekregen heeft, maar die ene gebruiker die wel via Sharepoint toegang gekregen heeft maar alleen het ene blad mag bewerken, heeft alleen bewerkingsrechten op dat ene blad.
Whitelisting kan natuurlijk ook: alleen wie in de VBA toegang krijgt tot alle werkbladen, heeft daar toegang toe. Het bijgevoegde VBA is op whitelisting gebaseerd, als ik hem goed lees. Ik ben nu alleen de enige die op de whitelist staat. ;)

Nog een aanvullende vraag: is de gebruikersnaam hier accountnaam@organisatie.nl of alleen accountnaam?
 
Maak een werkblad met de Whitelist waar je in kolom A de gebruikersnamen zet en zet dan dit in de ThisWorkbook sectie:
Code:
Private Sub Workbook_Open()
    If Application.WorksheetFunction.CountIf(Sheets("Whitelist").Range("A:A"), Environ("username")) > 0 Then
        For Each sh In ThisWorkbook.Sheets
            sh.Unprotect "Het Wachtwoord"
        Next sh
    Else
        For Each sh In ThisWorkbook.Sheets
            If sh.Name <> "BladnaamVoorCollega" Then
                sh.Protect "Het Wachtwoord"
            End If
        Next sh
    End If
End Sub
Die code wordt altijd uitgevoerd bij het openen van een document.
De gebruikers in kolom A mogen alle bladen bewerken.

Jullie gebruikersnaam notatie weet ik uiteraard niet maar kan je zien door in het Direct venster van de VBA editor dit in te tikken:
Code:
?Environ("username")
 
Bedankt, opnieuw!

Wat is het Direct venster? Als ik VBA open, krijg ik dit:
Schermafbeelding 2021-09-28 125050.png
 
Je krijg natuurlijk veel meer dan wat je in je plaatje laat zien.
Druk eens op Ctrl-G
Of in het menu op Beeld en dan Venster Direct.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan