23. september 2004 - 10:27Der er
3 kommentarer og 2 løsninger
Låse felter efter udfyldelse
Hej eksperter.
Jeg har brug en liste med journalnumre, som vi udleverer til vores medarbejdere. Når et journalnummer er udleveret skriver vi en dato og initialerne på den pågældende medarbejder.
Hvordan laver jeg et regneark, som forhindrer at man kan ændre i dato og medarbejder når det ER udleveret??
Journalnr. Dato Tekniker Kommentar 1232 23-09-04 MB Udleveret af JD 1233 1234 1235 1236
Altså: Når dato og medarbejder er udfyldt, må det ikke kunne rettes eller slettes.
Alle celler i et ark er forberedt som låste. Dette træder først i kraft når arket beskyttes.
D.v.s., at de journalnr., der ikke er udleveret skal formateres som ikke beskyttede. Dette gøres nemmest ved at "hente" den knap m/hængelåsen, som kan findes under Tilpas - Kommandoer - Formater - knappen "Lås celle". Træk denne op i en værktøjslinie.
Jamen en makro, der aktiveres når arket lukkes vil da være en fin løsning. Den skal så finde de celler med indhold, der ikke er låste, og så låse dem - ikk'??
Nemlig - her er koden - så kan du kopiere den over: Er femstillet i Office97
- - - Rem Koden indsættes i Arkets "ThisWorkBook" Rem ======================================= Public sidsteR, arkNavn Sub Workbook_Deactivate() arkNavn = Me.ActiveSheet.Name fjernbeskytArk
TestUdfyldning
beskytArk
MsgBox ("Beskyttelse er udført! - filen gemmes") ActiveWorkbook.Save End Sub Sub TestUdfyldning() Dim raekke, r As Range ActiveWorkbook.Worksheets(arkNavn).Activate aktuelleR = 2
Rem beregn sidste række i basisark ActiveCell.SpecialCells(xlLastCell).Select sidsteR = ActiveCell.Row
For raekke = 2 To sidsteR Set r = Range("A" + CStr(raekke) + ":D" + CStr(raekke)) Rem marker & lås hvis dato & tekniker er udfyldt If Cells(raekke, 2).Value And Cells(raekke, 3).Value <> "" Then r.Locked = True r.Interior.ColorIndex = 6 r.Interior.Pattern = xlSolid Else r.Locked = False End If Next raekke
End Sub Private Sub fjernbeskytArk() With Worksheets(arkNavn) .Unprotect End With End Sub Private Sub beskytArk() With Worksheets(arkNavn) .Protect End With End Sub
Hej, Jeg ved godt det er et meget gammelt opslag jeg søger på, men kan denne kode også bruges i en dansk excel version O365? Hvis ja, hvordan gør jeg så, hvis der stadig er en kolonne, som brugerene stadig gerne må skrive i, selv om den allerede er udfyldt? På forhånd tak for forslag :o)
Synes godt om
1 synes godt om dette
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.