Página 1 de 1

Bloqueio de linha após preenchimento de célula específica

Enviado: 10 Jun 2016 às 08:38
por ViniLopes
Bom dia! Conto com a ajuda de vocês…
Tenho uma planilha de controle de entrada e saída de produtos. Venho tentado montar uma linha de código para que bloqueie toda a linha preenchido ao chegar na Coluna 15 (O), que seria a coluna de status, para confirmação das informações, porém não estou conseguindo produzir um código que faça exatamente o que quero, já consegui que bloqueasse toda a coluna, mas não consegui regular isso para apenas as células preenchidas anteriormente daquela linha, que seria de A a N.
Se puderem me ajudar, agradeço!


Private Sub Worksheet_Change(ByVal Target As Range)
Dim ColunasQ As Range
Set ColunasQ = Range("O9:O503")
If Not Application.Intersect(ColunasQ, Range(Target.Address)) Is Nothing Then
ActiveSheet.Unprotect ("")
linha = Target.Row
Range("O" & linha).Locked = True
ActiveSheet.Protect (""), DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub



Eis o código que usei, ele funciona como deve apenas na primeira linha preenchida, pois ao executar o macro ele bloqueia a coluna O inteira, porém o que preciso é que bloqueie apenas a linha selecionada.

Bloqueio de linha após preenchimento de célula específica

Enviado: 10 Jun 2016 às 08:58
por Parkeless
Não sei se entendi bem... mas tenta trocar o Range("O" & Linha).Locked = True por Rows(Linha & ":" & Linha).Locked = True

Re: Bloqueio de linha após preenchimento de célula específic

Enviado: 10 Jun 2016 às 09:29
por DJunqueira
O correto mesmo seria vc bloquear a planilha inteira e liberar a edição apenas das células q vc quer e p/ isso não precisa de VBA.