Home Excel - Dicas Microsoft Excel VBA Excel VBA - Navegacao pelas planilhas Excel planilha vba navegar digitacao restricao

Excel planilha vba navegar digitacao restricao

E-mail Imprimir PDF

Saberexcel - o site de quem precisa aprender sobre Macros Microsoft Excel VBA.

Esses macros do Aplicativo Microsoft Excel VBA, oculta e ou torna visivel as planilhas selecionadas, ao selecionar determinada folha de planilha,
será automaticamente protegida por um número aleatório de sete digitos,  protegendo e desprotegendo para navegação, limitando a área de digitação, isto é selecionará somente as células desbloqueadas. Espero que o exemplo possam lhes ser útil. Fiquem com Deus, Expedito Marcondes
'- - - - - - - - - - - - - - - - - - - - - - - - - -
'Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções
'
http://www.microsoftexcel.com.br
' [email protected]
'- - - - - - - - - - - - - - - - - - - - - - - - - -
Private Sub Workbook_Open()
'será executado na abertura

Dim Plans As Worksheet  ' definindo variavel do tipo Objeto Worksheet
Dim vSenha As String   ' definir senha como string

'senha gerada aleatoriamente na planilha Saberexcel'
'observe que sempre uso o nome da folha de código da folha de planilha,
'isso porque se o usuário mudar o nome na aba da folha de planilha não retorna erro

vSenha = CStr(Saber100.[A1])

'Tornar visível a planilha Principal
Worksheets("Principal").Visible = xlSheetVisible

'fazemos um loop for next (para todas) folhas de planiha neste livro
For Each Plans In ThisWorkbook.Worksheets
'todas planihas serão ocultas exceto a planilha -(Principal(xlVeryHidden))

If Plans.Name <> "Principal" Then Plans.Visible = xlVeryHidden
 ' Desprotegendo o conjunto de folhas de planilhas
   Plans.Unprotect (vSenha)
Next Plans

'Na célula A1 da planilha Saberexcel, será inserido pelo código abaixo
'um numero aleatorio de sete digitos utilizado como senha
Saber100.[A1] = CLng(Rnd * (9999999 - 100000) + 1000000)  'gerando um senha aleatoria com sete digitos.
'Redefinir a variável senha
vSenha = CStr(Saber100.[A1])

For Each Plans In ThisWorkbook.Worksheets
'Proteger a planilha Plans
Plans.Protect (vSenha)
'observem que existem células desbloqueadas, somente estas poderão ser selecionadas
Plans.EnableSelection = xlUnlockedCells
Next Plans

End Sub
'- - - - - - - - - - - - - - - - - - - - - - - - - -

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'executa quando a planilha for desativada
'definindo a variável vSenha como texto
Dim vSenha As String

'atribuindo a variável senha o valor gerado aleatoriamente na planilha(Saberexcel(A))
vSenha = CStr(Saber100.[A1])

With Plans
'Proteger a planilha utilizando a variável Senha como password
.Protect (vSenha)
'Apenas as células desbloqueadas poderão ser selecionadas
.EnableSelection = xlUnlockedCells
End With
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sht As Object)
'executa quando a planilha for desativada

'definir a variável vSenha
Dim vSenha As String

'A senha nas planilhas serão atribuidas com o valor aleatorio gerdo na planilha Saberexcel(A1)
'como texto(string)

vSenha = CStr(Saber100.[A1]) 'aqui será a senha aleatorio gerada planilha Saberexcel

With Sht
'Ocultar a planilha
.Visible = xlVeryHidden
'Protegendo a planilha usando o número aleatorio na planilha (Saberexcel.A1)
.Protect (vSenha)
End With
End Sub
'- - - - - - - - - - - - - - - - - - - - - - - - - -
'caso precise gerar uma senha aleatória - numeros aleatorios com sete digitos.
Sub gerando_numero_aleatorio_sete_digitos()
Saber100.[A1] = CLng(Rnd * (9999999 - 100000) + 1000000)
[d5].Value = Saber100.[A1]
End Sub
'- - - - - - - - - - - - - - - - - - - - - - - - - -
'caso voce precise visualizar as folhas de planilhas.
Sub deproteger_visualizar()
Dim vSenha
vSenha = CStr(Saber100.[A1]) 'valor atribuido inserido na celula(A1).
'todas as planilhas diferentes de 'Principal serão ocultas(xlVeryHidden)
For Each Plans In ThisWorkbook.Worksheets
If Plans.Name <> "Principal" Then Plans.Visible = xlVeryHidden
  'Desproteger a planilha Plans
   Plans.Unprotect (vSenha)
   Plans.Visible = True
Next Plans
End Sub
'- - - - - - - - - - - - - - - - - - - - - - - - - -
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
'- - - - - - - - - - - - - - - - - - - - - - - - - -

 
 
   baixe o exemplo de planiha contendo os macros acima:
Excel planilha vba navegar digitacao restricao (114.49 KB)

 

Última atualização em Dom, 30 de Outubro de 2011 10:33  

Adicionar comentário

"Jamais considere seus estudos como uma obrigação, mas como uma oportunidade invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito, para seu próprio prazer pessoal e para proveito da comunidade." Albert Einstein


Código de segurança
Atualizar

PROMOÇÃO DIDÁTICOS SABEREXCEL



Adquira já o Acesso Imediato
à Area de Membros

Compra Grantida --- Entrega Imediata

Aprenda Excel VBA com Simplicidade de 
códigos e Eficácia, Escrevendo Menos e
Fazendo Mais.

'-------------------------------------'
Entrega Imediata:
+  500 Video Aulas MS Excel VBA
+  35.000 Planilhas Excel e VBA
+  Coleção 25.000 Macros MS Excel VBA
+  141 Planilhas Instruções Loops
+  341 Planilhas WorksheetFunctions(VBA)
+    04 Módulos Como Fazer Excel VBA
+  Curso Completo MS Excel VBA
+  Planilhas Inteligentes


Pesquisa Google SaberExcel

Publicidade Google

<script type="text/javascript"><!--

google_ad_client = "ca-pub-2317234650173689";

/* retangulo 336 x 280 */

google_ad_slot = "0315083363";

google_ad_width = 336;

google_ad_height = 280;

//-->

</script>

<script type="text/javascript"

src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>

Publicidade

RSFirewallProtected


Google Associados

Depoimentos

Adicione Saberexcel Favoritos

 
 

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA

Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,


   Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA