Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por Saulo
Posts
#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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord