Avatar billede nixon Novice
23. december 2015 - 08:58 Der er 6 kommentarer og
1 løsning

Brugeradgang på rækkeniveau

Er det muligt, med en Excel2007 at lave det sådan at når man først der står "Per" i første celle af rækken, så er det kun personen med pers adgangskode der har adgang til at rette i resten af rækken? og hvis der stå "Jan" så er det kun jan der har adgang til at rette?


Jeg har ikke selv kunne finde noget, så det kunne være fantastisk hvis det alligevel var muligt.

På forhånd tak og god jul :)
Avatar billede supertekst Ekspert
23. december 2015 - 11:57 #1
I princippet kan det godt lade sig gøre via VBA/makro, hvis den enkelte bruger er oprettet med det navn, der er anført i regnearket.

I min model bliver "den forkerte bruger" henvist til sin egen række, hvis der klikkes andetsteds.
Avatar billede nixon Novice
23. december 2015 - 14:15 #2
ups ..

Glemte at sige at arket er på flere 100 rækker, tilhørende "per", "jan" og "de andre" ..

Men med VBA ? .. 

Ideen er at den der opretter rækken med sit navn også er den eneste der kan rette i de data der står i felterne A -> J i den pågældende række .. de resterende felter har ingen betydning
Avatar billede supertekst Ekspert
23. december 2015 - 14:23 #3
Det navn, der er anført i kolonne A skal kunne sammenlignes med det login-navn, som brugeren har. Er det ikke korrekt?

Antallet af rækker er underordnet.
Avatar billede nixon Novice
23. december 2015 - 14:33 #4
nemlig :)
Avatar billede supertekst Ekspert
23. december 2015 - 15:05 #5
Rem Koden anbringes under relevante ark.
Rem Anvendelse af makroer sættes.
Rem Hvis ønskeligt kan du få min model - @-adresse under profil.

Dim bruger As String, ok As Boolean, flag As Boolean
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If flag = True Then
        Exit Sub
    Else
        If Application.UserName = Range("A" & Target.Row) Then
            ok = True
        Else
            ok = False
            If InStr(Target.Address, "J") = 0 And Target.Column > 10 Then
                Exit Sub
            End If
           
            findBrugersRække
        End If
    End If
End Sub
Private Sub findBrugersRække()
Dim antalRækker As Integer, ræk As Integer
    flag = True
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
    For ræk = 1 To antalRækker
        If Range("A" & ræk) = Application.UserName Then
            Range("B" & ræk).Select
            flag = False
            Exit Sub
        End If
    Next ræk
End Sub
Avatar billede nixon Novice
25. januar 2016 - 15:14 #6
tak supertekst-it.dk for en fantastisk hjælp
Avatar billede supertekst Ekspert
25. januar 2016 - 15:28 #7
Selv tak..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester