Saberexcel - o site de quem precisa Aprender Macros Microsoft Excel VBA
Macro impede usuário de ativar células onde há formulas
Macro do Aplicativo Microsoft Excel VBA, impede o usuário, de digitar nas células onde contém fórmulas, mas não pelo método validação, mas via vba mesmo. O usuário vai clicar nas células onde contém as fórmulas e elas vão estar congeladas indisponível para ativação e digitação, somente com células que contenham fórmulas. Veja bem, protege com senha determinada planilha e desprotege
Sub protege_celulas_formulas()
Protecao_celulas_Formulas Worksheets("Plan3"), "Saberexcel"
End Sub
Sub DesProtege_celulas_formulas()
Worksheets("Planl3").Unprotect "Saberexcel"
End Sub
Sub Protecao_celulas_Formulas(Ws As Worksheet, PassWord As String)
On Error Resume Next
With Ws
.Unprotect PassWord 'que a palavra (senha) é passada para a macro
.Cells.Locked = False
.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
.EnableSelection = xlUnlockedCells
.Protect PassWord
End With
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
Baixe o exemplo de planilha contendo a macro acima
Excel planilha vba proteger celulas com formulas de selecao (19.65 kB)
Comentários
código:123
descrição: papel A4
und.: pc
preço: 10,00-> esse valor puxa do banco através do procv(esse campo precisa ficar desbloqueado para edição se o código começar com 3)
Alguém pode me ajudar?
Faça o seguinte:
no quadradinho acima linha(1) e antes da coluna(A)
clique e selecione todas as células
2 - com todas as células selecionadas, de um ctrl + 1,
abra a Caixa de diálogo Formatar Celulas > Aba Proteção > Bloqueie todas as células
3 - Agora vamos debloquear somente as células onde vão ser digitado o código para busca do provc.
4 - Selecione a Area da Coluna onde vai ser digitado somente o Código
5 - Com essa área selecionada - tecle control + 1 para abrir a caixa de dialógo Formutar células
6 - Vá até Proteção > e Desbloqueie essas células selecionadas que receberão os códigos.
7 - Va em proteger > quando a caixa de dialogo abrir > selecione o item > Selecionar somente células desbloqueadas>
8 - Pronto - já poderá usar sua planilha.
fique com Deus, Expedito Marcondes
Peguei a macro abaixo neste site:
Private Sub Worksheet_Chang e(ByVal Target As Range)
Dim rng As Range
ActiveSheet.Unp rotect Password:="senh a"
Cells.Locked = False
On Error Resume Next
Set rng = Cells.SpecialCe lls(xlCellTypeF ormulas)
If Err.Number > 0 Then
Set rng = Cells.SpecialCe lls(xlCellTypeC onstants)
Else
Set rng = Union(rng, Cells.SpecialCe lls(xlCellTypeF ormulas))
End If
On Error GoTo 0
If Not rng Is Nothing Then rng.Locked = deusepaie
ActiveSheet.Pro tect Password:="senh a"
End Sub
Ela funcionou perfeitamente para mim, só que o que preciso é que as células preenchidas só sejam bloqueadas quando fecho a planilha, e que apenas com a senha elas sejam habilitadas. O usuário conseguirá apenas preencher (com o Data Validation) e quando a planilha se fecha, ela se salva automaticamente , bloqueando todas as células preenchidas.
Usei ela no "workbook_autoc lose", mas não funcionou.
Alguém poderia me ajudar nisso?
Assine o RSS dos comentários