Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por Saulo
#65995
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
Você não está autorizado a ver ou baixar esse anexo.
#65998
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
Saulo, Bikke agradeceu por isso
#65999
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
Você não está autorizado a ver ou baixar esse anexo.
#66001
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.
Saulo, Bikke agradeceu por isso
#66023
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
Você não está autorizado a ver ou baixar esse anexo.
osvaldomp agradeceu por isso
#66029
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.
Saulo agradeceu por isso
#66032
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
Saulo agradeceu por isso
Calculo - Prazo de Entrega

Veja se o anexo ajuda https://i.imgur.com/P13BYJI[…]

Estevaoba É isso mesmo, perfeito amigo, sa[…]

Prezados, Espero que possam me ajudar. Eu tenho u[…]

... e no final dela tem uma que salva o arquivo.[…]

Olá, Estou com dificuldade em montar uma […]

Bloqueio para editar célula

Coloquei na busca do Sábio Google ~~~&g[…]

Fala galera, estou precisando de uma luz em um dos[…]

Boa tarde amigos Tenho uma planilha nela s&atild[…]