Avatar billede Butterfly Ekspert
08. november 2018 - 08:34 Der er 10 kommentarer

Delt regneark

Hej
Er det muligt at bestemme hvem der må gøre hvad i hvilke celler i et delt regneark?
Kan jeg bestemme, at jeg kun må skrive i linje 2, 4 og 8, mens Poul må skrive i alle andre undtaget de 3?
08. november 2018 - 08:59 #1
Man skal efter min mening gøre alt for at undgå delte regneark! Har man det behov bør man seriøst overveje at flytte til en database (der er født til at være delt).

Og umiddelbart er svaret nej - det er muligt at man kan gøre noget med VBA...
Avatar billede Butterfly Ekspert
08. november 2018 - 09:24 #2
En database er desværre ikke en mulighed.
Nogen der kan noget VBA der kan løse det?
Avatar billede Jan K Ekspert
08. november 2018 - 11:53 #3
Selv med VBA vil det bleve noget høns, da man på en eller anden måde, skal finde ud af hvilken bruger, der har åbnet regnearket, og det kan man ikke direkte i Excel, men skal have fat i et Windows API, Dernæst skal det beskyttes med en kode (og der skal være en for hver bruger), som også skal kontrolles via vba, og som derfor skal ligge ukodet et eller andet sted.
Avatar billede Butterfly Ekspert
08. november 2018 - 13:01 #4
Jeg ved præcist hvem der åbner arket, enten Poul eller mig.
Avatar billede Jan K Ekspert
08. november 2018 - 14:00 #5
Hvordan kan koden sem, hvem af jer, der er på?
Avatar billede Butterfly Ekspert
08. november 2018 - 14:09 #6
Jeg tænker om det er muligt at fastlåse linje 2, 4 og 8 til bruger Butterfly og linje 1-200 til Poul undtaget linje 2, 4 og 8.
Avatar billede Jan K Ekspert
08. november 2018 - 18:19 #7
Jeg har en ide, men skal lige have afprøvet s0den, når jeg kommer hjem
Avatar billede Jan K Ekspert
10. november 2018 - 11:17 #8
Det tog sin  tid, men her er noget, der virker, selv om det ikke er elegant. Koden skal ligge på mappens modulark

Private Sub Workbook_Open()
Dim Bruger As String
Dim LCol As Integer
Dim LRow As Long

Bruger = UCase(InputBox("Indtast brugernavn"))
Select Case Bruger
Case Is = "BUTTERFLY"
  With ActiveSheet
        .Unprotect
        .Range("1:1, 2:3, 5:7, 9:200").Locked = True
        .Range("2:2, 4:4, 8:8").Locked = False
        .Protect Contents:=True
        .EnableSelection = xlUnlockedCells
  End With
Case Is = "POUL"
    With ActiveSheet
        .Unprotect
        .Range("2:2, 4:4, 8:8").Locked = True
        .Range("1:1, 3:3, 5:7, 9:200").Locked = False
        .Protect Contents:=True
        .EnableSelection = xlUnlockedCells
  End With
Case Else
  ActiveSheet.Unprotect
  ActiveSheet.Cells.Locked = True
  ActiveSheet.Protect
End Select
End Sub
Avatar billede Jan K Ekspert
10. november 2018 - 11:19 #9
Butterfly kan taste i række 2, 4, og 8
Poul i rækkerne 1, 3, 5, 6, 7 og 9 til 200
Andre kan ikke taste.
Avatar billede Butterfly Ekspert
13. november 2018 - 10:55 #10
Jeg kan desværre ikke få det til at virke. Skulle der komme en msgbox op, når jeg åbner regnearket? Eller skal jeg have noget kode i "Denne projektmappe"
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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