Notifications
Clear all

Verificar célula bloqueada- executar macro - bloquear célula

5 Posts
3 Usuários
0 Reactions
1,441 Visualizações
(@belan_)
Posts: 30
Eminent Member
Topic starter
 

Bom dia pessoal,

Estou tentando criar um código em que ao Clicar na macro a mesma irá:
Verificar se a célula está bloqueada, se estiver, automaticamente desbloquear com a senha 123
Em seguida ele continuaria a macro (fazendo contas e etc)
Preencheria as células na planilha com o resultado
e em seguida bloquearia novamente aquela célula.

No anexo apresentado, basicamente eu completaria as informações nas células A,B e C a partir da linha em branco e Bloquearia a ultima coluna preenchida D ="Conc". Porém eu tenho a opção de alterar as linhas anteriores nas colunas A,B e C e quando fosse rodar a macro ela atualizaria a coluna D. O problema é que se a coluna D estiver bloqueada, a macro não conseguirá preenchê-la.
ou seja, mesmo que eu consiga bloquear após a macro rodar, eu preciso verificar se a célula encontra-se bloqueada (e se estiver, desbloquea-la) todas as vezes que a macro for acionada, para em seguida continuar nos realizando as funções que estão no código e no final bloquea-la novamente.

Alguém já fez isso?

Muito obrigado

 
Postado : 22/02/2018 8:28 am
(@yatagan)
Posts: 22
Eminent Member
 

Olá.

basta adicionar

ActiveSheet.Unprotect "123"

antes da macro iniciar e

ActiveSheet.Protect "123"

após o código da macro

sua senha fica entre aspas "" e para ter acesso ao código da macro basta pressionar Alt+F11 e clicar na macro onde o código se encontra

 
Postado : 22/02/2018 8:44 am
(@belan_)
Posts: 30
Eminent Member
Topic starter
 

Obrigado Yatagan, porém no meu caso real aqui na empresa a planilha não é pra estar toda bloqueada e sim algumas células onde a macro preenche. E utilizando apenas esse código, não funcionou. o código, pelo que entendi, engloba a planilha toda.

mas obrigado pela tentativa.

 
Postado : 22/02/2018 10:19 am
(@yatagan)
Posts: 22
Eminent Member
 
 Sub Macro1()
'
' Macro1 Macro
    
    'Travar tela enquanto macro é executada
Application.ScreenUpdating = False
    
    ActiveSheet.Unprotect "123"
    ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-3],RC[-2],RC[-1])"
    Range("D3").Select
    Columns("D:D").EntireColumn.AutoFit
    Range("D2").Select
    Selection.AutoFill Destination:=Range("D2:D1000")
    Range("D2:D4").Select
    Range("D:D").Select
    Selection.Locked = True
    Range("A:C, E:XFD").Select
    Selection.Locked = False
    ActiveSheet.Protect "123"
    ActiveCell.Select
  
End Sub

Coloquei que antes da planilha bloquear dnv so a coluna D fosse bloqueada e as outras desbloqueadas e ainda adicionei para que a tela "trave" e que não mostre a macro sendo feita na hora

Possa ser que exista outro método, mas eu improvisei ai e fiz este

 
Postado : 22/02/2018 10:40 am
(@mprudencio)
Posts: 2749
Famed Member
 

Selecione as colunas ABC

Formatar Celulas > Proteção > Desmarque Bloqueadas

Salve o arquivo

Use a dica do yatagan.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 25/02/2018 7:21 pm