Como desabilitar a edição na caixa de texto para evitar a entrada do usuário no Excel?
Este artigo está falando sobre como desabilitar a edição em uma caixa de texto (Controle ActiveX) ou várias caixas de texto (Controle ActiveX) para evitar a entrada do usuário no Excel.
Desative a edição em uma caixa de texto, alterando suas propriedades
Desative a edição em várias caixas de texto por código VBA
Desative a edição em uma caixa de texto, alterando suas propriedades
Esta seção mostrará como alterar as propriedades de uma caixa de texto para desativar a edição dessa caixa de texto. Faça o seguinte.
1. Ative o Modo Design clicando em Developer > Modo de design. Veja a imagem:
2. Clique com o botão direito na caixa de texto e clique em Propriedades no menu de contexto, conforme a imagem mostrada abaixo.
3. Na abertura Propriedades caixa de diálogo, selecione Falso no ativado caixa e feche a caixa de diálogo Propriedades. Veja a imagem:
Agora a caixa de texto selecionada está cinza e não pode ser editada.
Desative a edição em várias caixas de texto por código VBA
Se você deseja desabilitar a edição em várias caixas de texto em uma planilha, aplique o código VBA abaixo.
1. Na planilha contém várias caixas de seleção que você precisa para desativar a edição, clique em Developer > inserção > Caixa de seleção (controle ActiveX) para inserir uma caixa de seleção na planilha. Veja a imagem:
2. Clique com o botão direito na caixa de seleção e selecione Ver código no menu de contexto. Veja a imagem:
3. No Microsoft Visual Basic para Aplicações janela, substitua o código original com o código VBA abaixo.
Código VBA: desative a edição em várias caixas de texto
Private Sub CheckBox1_Click()
Dim xTextBox As OLEObject
Dim xFlag As Boolean
Dim I As Long
Dim xArr
xArr = Array("TextBox1", "TextBox2", "TextBox3")
xFlag = True
If Me.CheckBox1 Then xFlag = False
For Each xTextBox In ActiveSheet.OLEObjects
If TypeName(xTextBox.Object) = "TextBox" Then
For I = 0 To UBound(xArr)
If xTextBox.Name = xArr(I) Then
xTextBox.Enabled = xFlag
End If
Next
End If
Next
End Sub
Notas:
1. No código, CheckBox1 é o nome da caixa de seleção inserida. E Caixa de texto1, Caixa de texto2 e Caixa de texto3 são as caixas de texto que você desativará a edição na planilha. Altere-os conforme necessário.
2. Para desativar a edição de mais caixas de texto, adicione o nome da caixa de texto entre aspas duplas na linha xArr = Array ("TextBox1", "TextBox2", "TextBox3").
4. Em seguida, salve e feche o código, desligue o Modo Design, agora, marcando a caixa de seleção, todas as caixas de texto especificadas não poderão ser editadas na planilha. Veja a imagem:
Note: Se você desmarcar a caixa de seleção, as caixas de texto podem ser editadas novamente.
Artigos relacionados:
- Como selecionar automaticamente o texto de uma caixa de texto quando ela é selecionada no Excel?
- Como autocompletar uma caixa de texto ao digitar no Excel?
- Como limpar o conteúdo da caixa de texto quando clicado no Excel?
- Como concatenar textos de várias células em uma caixa de texto no Excel?
- Como formatar uma caixa de texto como porcentagem no Excel?
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!