03. september 2007 - 14:53Der er
16 kommentarer og 1 løsning
Beskyttelse af celler
Hej
Jeg har lavet en regnskabsmodel i excel, som skal bruges af nogle venner, til at bogføre og holde styr på deres regnskab.
Men for at kunne bogføre i henhold til bogføringsloven, skal man ikke kunne slette/ændre tidligere posteringer, andet end vha. efterposteringer.
Der skal derfor være en funktion/makro som låser cellerne efter der er indtastet i dem, således at de ikke kan åbnes igen.. Dette kunne evt. aktiveres af en knap.
JEg låser selvfølgelig modellen før de får den, således at de ikke kan ændre/eller komme til at slette formler mv. Den bliver låst med password, således at de slet ikke kan låse den op, på noget tidspunkt.
Men kan man godt låse cellerne vha. makro, også selv om modellen egentlig er låst???
Håber der er nogen der kan hjælpe eller har et andet godt bud
Jo det kan sagtens lade sig gøre via makro. Men selvom du beskytter arket, herunder også makrokoden, kan den meget nemt brydes. Så låsningen kan nemt brydes bevidst, men er omvendt god, for at sikre sig mod fejl.
Det er korrekt at en evt. kode nemt kan brydes i et Excel ark - derfor vil jeg anbefale at dine venner kontakter deres revisor, for at få oplyst de nøjagtige krav til bogføringen.
Som udgangspunkt er det ikke noget problem at føre alle posteringer i et "åbent" Excel ark - hvis man benytter denne løsning vil der givet være et krav omkring en kassebog til at sikre mod "uautoriseret" sletning/retning af posteringer. Men så er idéen med at føre regnskabet i Excel ligesom gået fløjten!
Hvilken type regnskab er det dine venner skal føre - er det en virksomhed, eller er der tale om noget foreningsarbejde?
Er der tale om en virksomhed, må dine venners revisor kunne give et godt bud på mindste krav til deres bogføringer, samt evt. foreslå et billigt regnskabsprogram.
Sig til hvis du har brug for mere assistance.
Mvh. Be_Nice "Hver for sig kan vi alle en smule - men sammen kan vi det hele :o)"
Jeg arbejder selv i et revisionsfirma, og er igang med udd. mig til revisor.
Det eneste jeg umiddelbart mangler, er at kunne låse de felter, efter de har indtastet bilagene... jeg har siddet og leget med acces, og det er ikke særlig brugervenligt efter min mening:)
Det samme med SummaSummarum:) Det hænger ikke helt sammen efter min mening:) Fordelen er med excel, at de kan køre det hele ud fra samme mappe, eller program, dertil hørende årsrapport, budget mv. efter bogføringsloven, samt årsregnskabsloven.
Modellen er egentlig lavet, det eneste jeg mangler er at kunne låse alle felterne i de forskellige ark..
Eksempel: Jeg har låst alle arkene med adgangskode, og self. låst alle celler som ikke må benyttes. når de så har indtastet bilag for januar, trykker man på en knap, og cellerne bliver låst, sammen med resten af cellerne...
Hvorn skal man gøre, og kan man hente de scripts til makroerne nogle steder?
Til det med at koden kan brydes, er det jo det samme med nogle bogføringsprogrammer.. Sålænge de overholder loven, og arket i sig selv er "sikkert" nok. vil man stadig kunne overholde bogføringsloven.
Du skal selvfølgelig gøre det, som du mener er bedst, men at SummaSummarum ikke hænger sammen, forstår jeg ikke. Jeg kender op til flere begejstrede brugere, herunder en udd. revisor.
Ok... jeg ved bar at når eksempelvis laver årsregnskaber, hvor folk selv har bogført i SummaSummarum, så er der stort set altid problemer med at få de korrekte oplysninger ud mv. Men altså.. Man ville bar kunne undlade nogle processer, ved at køre det hele i excel, såsom at skulle hente data først.
Men er det muligt at kunne låse modellen efterfølgende?? Det er egentlig bar det svar jeg er ude efter, og så evt. en løsning:)
Jeg er ikke helt klar om det er nogen bestemte felter, eller de de spredt rundt. men her er et stykke kode som låser et bestemt område på alle ark
Private Sub CommandButtonprotect_Click() Dim Skema As Worksheet
For Each Skema In Worksheets Skema.Activate Skema.Range("F8:k10").Select Selection.Locked = True Skema.Protect "kode" Next Skema MsgBox ("Alle beskyttet celler er nu låst på alle ark") End Sub
Private Sub CommandButtonprotect_Click() Dim Skema As Worksheet
For Each Skema In Worksheets Skema.Activate Skema.Unprotect "kode" Skema.Range("F8:k10").Select Selection.Locked = True Skema.Protect "kode" Next Skema MsgBox ("Alle beskyttet celler er nu låst på alle ark") End Sub
Private Sub CommandButtonprotect_Click() Dim Skema As Worksheet
ActiveSheet.Unprotect "kode" ActiveSheet.Range("F8:k10").Select For Each c In Selection If c <> "" Then c.Locked = True End If Next ActiveSheet.Protect "kode" MsgBox ("Alle udfyldte celler i området F8:K10 er nu låst") End Sub
Ja, det skal bare være låst med den samme kode. Hvis du skal bruge det på flere forskellige ark, er det bedst med en makro, istedet for knapper. en knap vil dog være mere synlig.
Denne kode låser alle ark op, her kan man bruge en anden kode hvis man ønsker dette
Private Sub CommandButtonUnprotect_Click() Dim Skema As Worksheet
If MsgBox("Du låser nu alle ark op !!!" _ & vbCrLf & "Er du sikker ?", vbYesNo + vbQuestion) = vbYes Then If InputBox("Indtast Pasword") = "ny kode" Then Application.ScreenUpdating = False For Each Skema In Worksheets Skema.Unprotect "kode" Skema.Activate Next Skema Application.ScreenUpdating = True MsgBox ("Du har nu adgang til at ændre i alle celler !" & _ vbCrLf & "Så PAS PÅ !!!") Else MsgBox ("Forkert pasword") End If End If End Sub
MEn hvis jeg vil bruge den der låser alle de udfyldte celler i området A10-C14, og så sætte en knap på hvert ark? så gør jeg? sender du et svar så du kan få de point der:)
vælg tools, makro,makro, indtast makronavn, create, indsæt kode
i excel: vælg view, toolsbars,control toolbox skal være vinget til Du skulle nu gerne have en ny menu linie, der starter med med en linieal og en tegnetrekant, vælg knap (6.symbol hos mig), tegn knap,højre klik, vælg code, skriv makro navn. i excel: høje klip på knappen, properties, i caption kan du ændre teksten, deaktivere du linieal/tegnetrekant.
Så skulle det køre
kode for knap: Private Sub CommandButton1_Click() test End Sub
kode for makro: Sub test()
ActiveSheet.Unprotect "kode" ActiveSheet.Range("A10:C14").Select For Each c In Selection If c <> "" Then c.Locked = True End If Next ActiveSheet.Protect "kode" MsgBox ("Alle udfyldte celler i området A10:C14 er nu låst")
End Sub
hvis du kun har et ark, dropper du makro og indsætter koden under knappen
Tusinde tak for hjælpen:) jeg forsøger mig når jeg kommer hjem fra arbejde:)
Synes godt om
Ny brugerNybegynder
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.