Estou precisando de uma super ajuda.
Utilizo uma macro para proteger e desproteger um arquivo com uma série de planilhas.
Para desproteger
Sub KEY() Dim Planilha As Worksheet Dim Senha As String Senha = InputBox("ATENÇÃO!" & Chr$(13) & "Você está acessando o módulo de segurança da Ferramenta Geo Visão." & Chr$(13) & "Digite a sua senha:", "MÓDULO DE SEGURANÇA - GeoVisão") For Each Planilha In Worksheets Planilha.Unprotect Senha Next End Sub
Para proteger
Sub Proteger() Dim Planilha As Worksheet Dim Senha As String Senha = InputBox("Digite a Senha:", "Senha de Proteção") For Each Planilha In Worksheets Planilha.Protect Senha Next End Sub
Mas preciso atualizar todas as planilhas frequentemente, e com isso uso a macro:
Sub ATUALIZAR() ActiveWorkbook.RefreshAll Calculate MsgBox "Dados atualizados com sucesso!", vbAlert, "GeoVisão - NET BH" End Sub
Mas com as planilhas bloqueadas as tabelas dinâmicas não são atualizadas.
O que acha posso fazer para resolver.
Obrigado!!!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Bom dia!!
Use nossa base de dados. e caso necessário poste um arquivo modelo compactado!
viewtopic.php?f=16&t=2569&p=11263&hilit=desproteger+planilha#p11263
Porque não chama a rotina para desproteger a guia antes do código "ATUALIZAR" e depois chame a "Proteger" no final da rotina atualizar.
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Mafilho,
Coloque uma instrução para desproteger a planilha antes de atualizar e uma instrução para proteger depois.
Abraço,
Henrique Ronconi
Henrique
http://henriqueronconi.wix.com/consultoria
Espero ter ajudado!
É verdade... Não tinha pensado nesta opção.
Mas tem um problema, que pode até parecer bobo. A macro que utilizo para desproteger percorre todas as abas (mostrando aba a aba).
Vcs sabem uma opção que congele na aba que a macro foi acionada.
E se não for pedir muito, existe uma opção de colocar uma mensagem solicitando que o usuário aguarde enquanto os dados são atualizados e em seguida apresente outra mensagem informando que os dados foram atualizados com sucesso!!!
Muito Obrigado!!!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Boa tarde!!
Agora faça a adaptação.
Sub SuasMacros() Application.ScreenUpdating = False 'Aqui sua macro MsgBox "Por favor, aguarde..." Application.ScreenUpdating = True End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Fiz ela divida em três parte, mas não sei se é a mais fácil ou melhor:
1º - Macro para desbloqueio, que manda o comando iniciar a de atualização:
Sub Desbloqueio_atualizar() Application.ScreenUpdating = False Dim Planilha As Worksheet Dim Senha As String Senha = "NETBH" For Each Planilha In Worksheets Planilha.Unprotect Senha Next Application.ScreenUpdating = True Application.Run "ATUALIZAR()"
2º - Depois de desbloqueadas as palnilhas e executada a macro de atualização é iniciada a de bloqueio:
End Sub Sub ATUALIZAR() ActiveWorkbook.RefreshAll Calculate Application.Run "Bloqueio_atualizar()"
3º - Por ultimo o bloqueio:
End Sub Sub Bloqueio_atualizar() Dim Planilha As Worksheet Dim Senha As String Senha = "BHNET" For Each Planilha In Worksheets Planilha.Protect Senha Next MsgBox "Dados atualizados com sucesso!", vbAlert, "GeoVisão - NET BH" End Sub
Mas está apresentando erro na senha.´
Outra coisa, existe a possibilidade de se colocar uma mensagem enquanto a macro é executada e assim que terminar fechar e aparecer outra.
Exemplo:
Enquanto é executada a macro de atualização é exibida a mensagem: Aguarde enquanto os dados são atualizados!
Quando a macro terminar essa mensagem é fechada e é exibida outra: Dados atualizados com sucesso!
Obrigado!!!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Boa noite!!
Reveja sua senha
Senha = "NETBH"
Senha = "BHNET"
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Não está dando muito certo...
Agora a planilha desbloqueia... atualiza e não bloqueia de novo...
Existe alguma possibilidade de se fazer um unico código de:
Desbloqueio->Atualização->Bloqueio
Obrigado!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Boa tarde!!!
Se desde sua 1º postagem tivesse postado seu arquivo modelo compactado, o pessoal da comunidade talvez já teria resolvido.
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Boa tarde!!!
Se desde sua 1º postagem tivesse postado seu arquivo modelo compactado, o pessoal da comunidade talvez já teria resolvido.
Att
Oi,
Na verdade deparo com um problema: o arquivo é confidencial da empresa que trabalho... mas o que realmente preciso é o que eu postei desde o inicio...
Preciso de ajuda para fazer uma macro que desbloqueia todas as abas, depois atualiza tudo e em seguida bloqueia tudo novamente.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Bom dia!!!
Eu disso claramente "arquivo modelo"
Tente usar esse para ver se vai dar certo.
Option Explicit Sub ProtegerAleVBA() Dim wSheet As Worksheet Dim Pwd As String Pwd = "AleVBA" For Each wSheet In Worksheets wSheet.Protect Password:=Pwd Next wSheet End Sub Sub DesprotegerAleVBA() Dim wSheet As Worksheet Dim Pwd As String Pwd = "AleVBA" On Error Resume Next For Each wSheet In Worksheets wSheet.Unprotect Password:=Pwd Next wSheet End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Segue uma contribuição
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Bom dia!!
Veja se é isso...
http://www.sendspace.com/file/01i5be
Lembrando que você disse bloquear TODAS as guias.
E por favor leia as regras, os arquivos devem ser compactados!!!
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Pessoal,
Agora deu certinho!
Peço desculpas, acabei me esquecendo de compactar o arquivo.
Agora ficou uma questão. Existe a possibilidade de se colocar uma mensagem informando que os dados estão sendo atualizados enquanto a macro é executada e assim que finalizada esta mensagem é fechada e se abre uma nova informando que os dados foram atualizados com sucesso?
Obrigado mais uma vez!!!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
mafilho, veja este exemplo, é só adaptar :
Use the Status Bar as a Progress Indicator
http://www.vbaexpress.com/kb/getarticle.php?kb_id=87
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel