Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA Excel - włączanie i wyłączanie ochrony arkusza w zdarzeniu change

Andie 23 Paź 2016 18:13 696 4
  • #1 23 Paź 2016 18:13
    Andie
    Poziom 20  

    Witam,

    usiłuje napisać prostą procedurą w zdarzeniu arkusza change, w ten sposób, aby działała na chronionym arkuszu.
    Procedura miałaby wyłączać ochronę na czas dokonania wpisów w chronionym obszarze po zmianie w jednej kolumnie, a po zakończeniu włączać ponownie ochronę. Nie mogę sobie jednak z tym poradzić.W czym tkwi problem?

    Code:

    Private Sub Worksheet_Change(ByVal Target As Range)

    ActiveSheet.Unprotect
    Dim TargCell As Range
    Set TargCell = Cells(Target.Row, Target.Column)

    If Target.Column = (5) Then
        TargCell.Offset(0, 1) = Now
        TargCell.Offset(0, 2) = Application.UserName
    End If
       
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

    End Sub

    0 4
  • #2 23 Paź 2016 19:08
    JRV
    Specjalista - VBA, Excel

    Zdarzenie 'change' jest przed samym edytowaniem
    Mozna tak:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #3 23 Paź 2016 21:09
    Andie
    Poziom 20  

    Po usunięciu wiersza (pozostał omyłkowo):

    Code:

    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True


    działa jak należy.
    Czyli jednak zdarzenie "SelectionChange"... Dziękuję.
    Mam jeszcze pytanie - czy jest możliwość ustawienia hasła dla aktywowanej w ten sposób ochrony arkusza?

    0
  • Pomocny post
    #4 23 Paź 2016 21:16
    JRV
    Specjalista - VBA, Excel

    ActiveSheet.Protect password:=haslo

    0
  • #5 23 Paź 2016 22:22
    Andie
    Poziom 20  

    dziękuję i pozdrawiam

    0