Article ID: 130108
Article Last Modified on 10/11/2006
APPLIES TO
- Microsoft Excel 5.0 Standard Edition
- Microsoft Excel 5.0 for Macintosh
- Microsoft Excel 95 Standard Edition
- Microsoft Excel 5.0c
- Microsoft Excel 5.0 Standard Edition
- Microsoft Excel 5.0a for Macintosh
This article was previously published under Q130108
SYMPTOMS
When you run a Microsoft Visual Basic for Applications
subroutine in Microsoft Excel, you may receive the following macro error
message:
Runtime Error 1005:
Unable to Set the Text
Property of the Editbox Class
This error will occur if the following
conditions are true:
- A macro tries to set the Text property of an edit box on a
protected dialog sheet.
-and-
- The workbook has been closed and reopened since protecting
the dialog sheet.
Note that this problem also occurs with check boxes (both on
dialogs and also on worksheets).
CAUSE
To change the text of an edit box on a protected dialog
sheet, the Lock Text check box must be cleared. The Lock Text check box is
located on the Protection tab of the Format Object dialog box for that edit
box. When the file is saved, closed, and reopened, the Lock Text check box is
reset.
WORKAROUND
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. To change the Text property of an edit box by using
a Visual Basic for Applications (VBA) subroutine, use one of the following
methods.
Method 1
Unprotect the dialog sheet before you change the edit box text,
and then reprotect the dialog sheet. The following example uses the Unprotect
method to unprotect a dialog sheet that is named "Dialog1." It then changes the
text of an edit box that is named "Edit Box 4," and then reprotects the Dialog
Sheet.
' You can skip this line if you are adding this code to
' an existing macro.
Sub ChangeEditBox()
' Unprotect the dialog sheet. If a password is required,
' remove the apostrophe in front of password and
' change "MyPassword" to the correct password.
DialogSheets("Dialog1").Unprotect 'password:="MyPassword"
' Change the edit box text to "Hello." You should verify and
' change "Edit Box 4" to the correct name.
DialogSheets("Dialog1").EditBoxes("Edit Box 4").Text = "Hello"
' Reprotect the worksheet. If a password is required,
' remove the apostrophe in front of password and change
' "MyPassword" to the correct password.
DialogSheets("Dialog1").Protect 'password:="MyPassword"
End Sub
Method 2
Leave the dialog sheet unprotected.
STATUS
Microsoft
has confirmed that this is a problem in the Microsoft products that are listed
at the beginning of this article.
REFERENCES
For more information about the Text Property, click the
Search button in Visual Basic Reference Help and type:
For additional information, click
the following article number to view the article in the Microsoft Knowledge
Base:
113599
Can't Format Control Text in Objects Such As EditBox and Range
Additional query words: editbox dialogsheet checkbox XL Err Msg
Keywords: kberrmsg kbbug kbprogramming kbcode KB130108