Avatar billede zkov82 Nybegynder
26. juli 2005 - 16:55 Der er 5 kommentarer og
1 løsning

låse ark efter bestemt tid

Dette spørgsmål arbejder videre ud fra dette spørgsål:
http://www.eksperten.dk/spm/634802

Når disse nye ark er oprettet, skal det tidligere ark låses, sådan at det ikke stadig opdatere fra et indtastningsark.

Ellers kommer der jo til at ligge nøjagtigt det samme i alle ark.

Kan det lade sig gøre?
Avatar billede kabbak Professor
26. juli 2005 - 17:14 #1
Sub OpretMandagsark()

    Sheets("Ark1").Copy After:=Sheets(1)
    If Weekday(Date) = 2 Then
    ActiveSheet.Name = "Uge " & Format(Date, "ww", vbMonday, vbFirstFourDays)
  On Error GoTo IngenGammel
 
  ' **********fjerner formler og låser arket for forrige uge
    Sheets("Uge " & Format((Date - 7), "ww", vbMonday, vbFirstFourDays)).Select
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.Locked = True
    Selection.FormulaHidden = False
    Range("A1").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("Uge 30").Select
      Range("A1").Select
        Application.CutCopyMode = False
IngenGammel:

    Sheets("Uge " & Format(Date, "ww", vbMonday, vbFirstFourDays)).Select
    Range("A1").Select
    Else
    MsgBox " Kan kun køres om Mandagen"
  End If
End Sub
Avatar billede zkov82 Nybegynder
26. juli 2005 - 17:49 #2
Det ser godt ud..... men er der ikke en måde som sikre at der ikke oprettes et ark, hvis man kommer til at køre macroen 2 gange på en mandag?
Avatar billede kabbak Professor
26. juli 2005 - 17:54 #3
Sub OpretMandagsark()
For Each Ws In Worksheets
If Ws.Name = "Uge " & Format(Date, "ww", vbMonday, vbFirstFourDays) Then
MsgBox " Arket er oprettet"
Exit Sub
End If
Next

    Sheets("Ark1").Copy After:=Sheets(1)
    If Weekday(Date) = 2 Then
    ActiveSheet.Name = "Uge " & Format(Date, "ww", vbMonday, vbFirstFourDays)
  On Error GoTo IngenGammel
 
  ' **********fjerner formler og låser arket for forrige uge
    Sheets("Uge " & Format((Date - 7), "ww", vbMonday, vbFirstFourDays)).Select
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.Locked = True
    Selection.FormulaHidden = False
    Range("A1").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("Uge 30").Select
      Range("A1").Select
        Application.CutCopyMode = False
IngenGammel:

    Sheets("Uge " & Format(Date, "ww", vbMonday, vbFirstFourDays)).Select
    Range("A1").Select
    Else
    MsgBox " Kan kun køres om Mandagen"
  End If
End Sub
Avatar billede kabbak Professor
27. juli 2005 - 19:02 #4
hvordan går det. ?
Avatar billede zkov82 Nybegynder
28. juli 2005 - 14:40 #5
efter lidt roden med det, har jeg fået det til at virke....så smid et svar
Avatar billede kabbak Professor
28. juli 2005 - 15:36 #6
Et svar ;-))
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