How to disable editing in textbox to prevent user inputting in Excel?
This article is talking about disabling editing in a textbox (ActiveX Control) or multiple textboxes (ActiveX Control) to prevent user inputting in Excel.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
This section will show you to change a textbox’s properties to disable editing of this textbox. Please do as follows.
1. Turn on the Design Mode by clicking Developer > Design Mode. See screenshot:
2. Right-click the textbox and click Properties from the context menu as below screenshot shown.
3. In the opening Properties dialog box, select False in the Enabled box and then close the Properties dialog box. See screenshot:
Now the selected textbox is gray and unable to edit.
If you want to disable editing in multiple textboxes in a worksheet, please apply the below VBA code.
1. In the worksheet contains multiple checkboxes you need to disable editing, click Developer > Insert > Check Box (ActiveX Control) to insert a checkbox into the worksheet. See screenshot:
2. Right-click the checkbox and select View Code from the context menu. See screenshot:
3. In the Microsoft Visual Basic for Applications window, please replace the original code with below VBA code.
VBA code: Disable editing in multiple textboxes
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. In the code, CheckBox1 is the name of your inserted checkbox. And TextBox1, TextBox2, and TextBox3 are the textboxes you will disable editing in the worksheet. Please change them as you need.
2. For disabling editing for more textboxes, please add the textbox name embracing with double quotes into the line xArr = Array("TextBox1", "TextBox2", "TextBox3").
4. Then save and close the code, turn off the Design Mode, now, checking the checkbox will make all specified textboxes unable to edit in worksheet. See screenshot:
Note: If you uncheck the checkbox, the textboxes can be edited again.
- How to auto select text of a textbox when it is selected in Excel?
- How to autocomplete a textbox when typing in Excel?
- How to clear contents of textbox when clicked in Excel?
- How to concatenate texts of multiple cells into a textbox in Excel?
- How to format a textbox as a percentage in Excel?