Estou utilizando esse código para registrar todas as alterações que acontecem na minhas planilhas
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wsHist As Worksheet, Rng As Range
Set wsHist = Sheets("História")
Set Nome = CreateObject("Wscript.Network")
If Sh Is wsHist Then Exit Sub
Set Rng = wsHist.Range("A" & Rows.Count).End(xlUp).Offset(1)
With Rng
.Value = Now
.Offset(, 1) = Sh.Name
.Offset(, 2) = Target.Address
.Offset(, 4) = Nome.UserName
.Offset(, 5) = Nome.ComputerName
If Target.Cells.Count > 1 Then
.Offset(, 3) = "Valores Alterados"
Else
.Offset(, 3) = Target.Formula
End If
End With
End Sub
Porem eu gostaria de proteger a planilha Historia, quando eu coloco os códigos no VBA ele acusa um erro. acredito que pelo fato do codigo não esta entendendo que deve desbloquear executar e depois bloquear novamente.
Pergunta
DaTvman
Pessoal, tudo bem?
Estou utilizando esse código para registrar todas as alterações que acontecem na minhas planilhas
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wsHist As Worksheet, Rng As Range
Set wsHist = Sheets("História")
Set Nome = CreateObject("Wscript.Network")
If Sh Is wsHist Then Exit Sub
Set Rng = wsHist.Range("A" & Rows.Count).End(xlUp).Offset(1)
With Rng
.Value = Now
.Offset(, 1) = Sh.Name
.Offset(, 2) = Target.Address
.Offset(, 4) = Nome.UserName
.Offset(, 5) = Nome.ComputerName
If Target.Cells.Count > 1 Then
.Offset(, 3) = "Valores Alterados"
Else
.Offset(, 3) = Target.Formula
End If
End With
End Sub
Porem eu gostaria de proteger a planilha Historia, quando eu coloco os códigos no VBA ele acusa um erro. acredito que pelo fato do codigo não esta entendendo que deve desbloquear executar e depois bloquear novamente.
Muito obrigado pela ajuda
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.