Как отключить редактирование в текстовом поле, чтобы пользователь не вводил данные в Excel?
В этой статье говорится об отключении редактирования в текстовом поле (элемент управления ActiveX) или нескольких текстовых полях (элемент управления ActiveX), чтобы предотвратить ввод данных пользователем в Excel.
Отключить редактирование в текстовом поле, изменив его свойства
Отключить редактирование в нескольких текстовых полях с помощью кода VBA
Отключить редактирование в текстовом поле, изменив его свойства
В этом разделе показано, как изменить свойства текстового поля, чтобы отключить редактирование этого текстового поля. Пожалуйста, сделайте следующее.
1. Включите режим дизайна, нажав Застройщик > Режим проектирования. Смотрите скриншот:
2. Щелкните текстовое поле правой кнопкой мыши и выберите Объекты из контекстного меню, как показано на скриншоте ниже.
3. В дебюте Объекты диалоговое окно, выберите Ложь в Включено и закройте диалоговое окно Свойства. Смотрите скриншот:
Теперь выделенное текстовое поле серое и его нельзя редактировать.
Отключить редактирование в нескольких текстовых полях с помощью кода VBA
Если вы хотите отключить редактирование в нескольких текстовых полях на листе, примените приведенный ниже код VBA.
1. На листе есть несколько флажков, которые нужно отключить, нажмите Застройщик > Вставить > Флажок (элемент ActiveX) чтобы вставить флажок в рабочий лист. Смотрите скриншот:
2. Щелкните правой кнопкой мыши флажок и выберите Просмотреть код из контекстного меню. Смотрите скриншот:
3. в Microsoft Visual Basic для приложений окна, замените исходный код на приведенный ниже код VBA.
Код VBA: отключить редактирование в нескольких текстовых полях
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
Заметки:
1. В коде Флажок1 это имя вашего установленного флажка. И TextBox1, TextBox2качества TextBox3 - это текстовые поля, которые вы отключите от редактирования на листе. Пожалуйста, измените их по своему усмотрению.
2. Чтобы отключить редактирование для большего количества текстовых полей, добавьте имя текстового поля, заключенное в двойные кавычки, в строку xArr = Array ("TextBox1", "TextBox2", "TextBox3").
4. Затем сохраните и закройте код, выключите режим «Дизайн», теперь установка флажка сделает все указанные текстовые поля недоступными для редактирования на листе. Смотрите скриншот:
Внимание: Если вы снимете флажок, текстовые поля можно будет редактировать снова.
Статьи по теме:
- Как автоматически выбрать текст текстового поля, когда он выбран в Excel?
- Как автозаполнить текстовое поле при вводе в Excel?
- Как очистить содержимое текстового поля при нажатии в Excel?
- Как объединить тексты из нескольких ячеек в текстовое поле в Excel?
- Как отформатировать текстовое поле в процентах в Excel?
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!