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

Flexibel Lint

Status
Niet open voor verdere reacties.
Je kan het ribbon alleen aanpassen vanuit de context van het ribbon.
Een wijziging in een cel is buiten die context en zal alleen worden gelezen bij het openen van het document.
Dat is niet juist. Zie bijlage:
 

Bijlagen

  • Test Tabs in het lint.xlsm
    19,8 KB · Weergaven: 39
Je hebt helemaal gelijk, niet aan de Invalidate gedacht :)
 
Bedankt allemaal! Echt teamwork.

Met de aanvulling van rebmog werkt het bestand prima.

Ik wilde alleen nog een userform, zodat de gebruiker zijn naam eerst moet invoeren.
Dat heb ik via Workbook_Open geregeld.

Ik heb A1 gewijzigd in C1.

De invalidate lijkt in een soort oneindige lus terecht te komen.
Ik heb daar nu een on error tussen gezet. Dat werkt, maar vinden jullie dat netjes?
Ik heb eerste een Application.EnableEvents = False geprobeerd, maar dat werkte niet.

Groet
Willem
 

Bijlagen

  • Test Tabs in het lint 2.xlsm
    23,1 KB · Weergaven: 27
Het gaat sowieso mis want er bestaat geen MSO besturingselement met de naam ALGEMEEN.
 
Toen ik wakker werd dacht ik "Leuk, maar er werken natuurlijk meer mensen op een afdeling."

Ik heb nu een tabelletje naam/afdeling gemaakt.
Met een match zoek ik de naam/afdeling op en toon dan de juiste tab.

Nu zit ik er nog even mee, als Toos zowel tot de tab Inkoop als Verkoop toegang moet hebben.
Of natuurlijk de baas, die alle tabs moet zien.

Ik heb het uitgebreidere bestand V3 bijgevoegd.

groet
Willem
 

Bijlagen

  • Test Tabs in het lint 3.xlsm
    23,7 KB · Weergaven: 34
Laatst bewerkt:
Vandaar mijn eerdere voorstel met Environ("Username")
 
Ha Edmoor,

Ik loop er tegenaan dat ik dingen doe, maar niet weet wat ik doe.
Hoe ik dus precies het bestand moet aanpassen en jouw oplossing daarin moet verwerken weet ik niet.
 
Maak een blad met de naam Gebruikers en zet daar dit in:
Gebruikers.JPG

Gebruik in de Callback vervolgens deze code:
Code:
Private Sub ribbonui_getvisible(ByRef control As IRibbonControl, ByRef ReturnValue As Variant)
    Select Case control.ID
        Case "TabINKOOP":       ReturnValue = CheckGebruiker(1)
        Case "TabVERKOOP":      ReturnValue = CheckGebruiker(2)
        Case "TabONDERHOUD":    ReturnValue = CheckGebruiker(3)
    End Select
End Sub

Function CheckGebruiker(Sectie As Integer) As Boolean
    With Sheets("Gebruikers")
        For i = 2 To .Cells(2, Sectie).CurrentRegion.Rows.Count
            If Environ("username") = .Cells(i, Sectie) Then
                CheckGebruiker = True
                Exit For
            End If
        Next i
    End With
End Function

Dat blad Gebruikers mag je dan desgewenst verbergen en het lijstje vul je zoals gewenst is.
Het document:
Bekijk bijlage Test Tabs in het lint.xlsm

Achter de Test knop zit de Invalidate van Rebmog zodat je het meteen met je eigen gebruikersnaam (Case sensitive) kan testen.
 
Laatst bewerkt:
Dag Edmoor,

Ik weet niet precies wat er moet gebeuren. De tabs verschijnen niet op basis van deze namen.

Wel wordt het hele lint uitgegrijst, zodat je dat niet meer kunt gebruiken.
Als je daarna in een willekeurige cel klikt kun je het lint weer gebruiken.
 
Ik weet natuurlijk niet wat je hebt gedaan maar als je het document test dat ik plaatste werkt het gewoon goed als je je eigen gebruikersnaam in het lijstje opneemt.
Wat de nu gebruikte namen betreft, die zijn uiteraard fictief, zoals je ze zelf hebt opgegeven in je initiële vraag.
 
Je moet uiteraard wel het document dat ik plaatste openen.
 
Ik ben eruit.
Ik heb een MsgBox Environ("username")

Mijn username = Gebruiker :eek:

Je code werkt dus prima!

Bedankt!
 
Ik ging er wel vanuit dat je je eigen gebruikersnaam weet ;)
Maar mooi dat het nu voor je werkt :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan