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