Página 1 de 1

Bloqueio de células específicas - Via VB

Enviado: 26 Jul 2021 às 14:51
por Saulo
Boa Tarde!
Preciso bloquear somente as células ("L7:L14") da planilha (Inserir Pendencia NC) em anexo, deixando as demais células livres para serem manuseadas, porem sem usar o comando "Proteger Planilha" presente na guia Revisão.
Gostaria de fazer isso pelo VBA. É possível?
Desde já Agradeço

Re: Bloqueio de células específicas - Via VB

Enviado: 26 Jul 2021 às 15:03
por osvaldomp
Salve, Saulo » 26 Jul 2021 às 14:51.

Experimente:
Código: Selecionar todos
Sub BloqueiaCélulasProtegePlanilha()
 With Sheets("Inserir Pendencia NC")
  .Unprotect
  .Cells.Locked = False
  .Range("L7:L14").Locked = True
  .Protect
 End With
End Sub

Re: Bloqueio de células específicas - Via VB

Enviado: 26 Jul 2021 às 15:19
por Saulo
Caríssimo osvaldomp - 26 Jul 2021 às 16:03, Boa Tarde!
Então.......
Copiei seu código para dentro da planilha "Inserir Pendencia NC" e aparentemente não funcionou, seria possível Você dar uma analisada.
OBS.:Anexo a planilha já contemplando seu código
Desde já agradeço.
Atenciosamente

Re: Bloqueio de células específicas - Via VB

Enviado: 26 Jul 2021 às 15:34
por Foxtri
Boa tarde.
Deixo outra opção.(Veja se cabe para a sua necessidade).
Até
Foxtri

Re: Bloqueio de células específicas - Via VB

Enviado: 26 Jul 2021 às 15:44
por osvaldomp
Caríssimo Saulo - 26 Jul 2021 às 15:19.

O código que passei deve ser instalado em um módulo comum, e não no módulo de planilha como você fez.

Instale uma cópia do código em um módulo comum, assim:
1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor / Inserir / Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

para rodar o código:
6. tecle 'Alt+F8' / selecione a macro correspondente / Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 / Opções).
Essas três opções para rodar o código podem ser implantadas isoladamente ou em conjunto.

Re: Bloqueio de células específicas - Via VB

Enviado: 27 Jul 2021 às 14:23
por Saulo
Boa Tarde! Prezados osvaldomp - 26 Jul 2021 às 16:44 e Foxtri - 26 Jul 2021 às 16:34
Grato por terem respondido a essa demanda.
Assim....
As duas soluções atendem perfeitamente, mas a que mais se adequou a utilização da atual planilha contra usuários maldosos foi a do nosso amigo osvaldomp.
Quanto a solução do nosso amigo Foxtri, gostaria de acrescentá-la a uma planilha já existente, porem quando copiei o código não teve compatibilidade com uma macro já existente, estou anexando a nova planilha com detalhes e se for possível peço que dê uma analisada.
OBS: Segue nova planilha para uma possível analise e integração das macros
Desde já Agradeço

Re: Bloqueio de células específicas - Via VB

Enviado: 27 Jul 2021 às 16:40
por osvaldomp
Saulo escreveu: 27 Jul 2021 às 14:23 As duas soluções atendem perfeitamente, ... :?:

... gostaria de acrescentá-la a uma planilha já existente, ...
Faça um teste, selecione por exemplo L6:L14, via mouse ou via teclado e aperte Delete.

Re: Bloqueio de células específicas - Via VB

Enviado: 27 Jul 2021 às 19:01
por Foxtri
Olá
Deixo esta opção.
Veja se atende.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("C7")) Is Nothing Then
MsgBox ("AÇÃO NÃO PERMITIDA")
Range("A1").Select
End If
If Not Intersect(Target, Range("L7:L14")) Is Nothing Then
MsgBox ("AÇÃO NÃO PERMITIDA")
Range("A1").Select
End If
End Sub

Re: Bloqueio de células específicas - Via VB

Enviado: 28 Jul 2021 às 09:44
por Saulo
Prezado Foxtri - 27 Jul 2021 às 20:01, Bom Dia!
Muitíssimo Obrigado Por Ter Atendido a Essa Demanda.
Ficou Excelente..... Muito Além do Imaginado.
Atenciosamente