XL: Can't Link Edit Box to Worksheet Cell from Control Tab

ID: Q105110


The information in this article applies to:


SUMMARY

In Microsoft Excel, although you can establish a link between some types of dialog box controls and a worksheet cell, edit boxes do not have this capability. To allow the value of an edit box to appear in a cell, you must create a Visual Basic procedure.


MORE INFORMATION

Microsoft provides examples of Visual Basic procedures for illustration only, without warranty either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose. This Visual Basic procedure is provided 'as is' and Microsoft does not guarantee that it can be used in all situations. Microsoft does not support modifications of this procedure to suit customer requirements for a particular purpose. Note that a line that is preceded by an apostrophe introduces a comment in the code--comments are provided to explain what the code is doing at a particular point in the procedure. Note also that an underscore character (_) indicates that code continues from one line to the next. You can type lines that contain this character as one logical line or you can divide the lines of code and include the line continuation character. For more information about Visual Basic for Applications programming style, see the "Programming Style in This Manual" section in the "Document Conventions" section of the "Visual Basic User's Guide."

The following Visual Basic procedure creates the equivalent of a cell link between an edit box and cell A1 on a worksheet. In order for the procedure to run each time you enter new information in the edit box, the procedure should be assigned to the edit box by choosing Assign Macro from the Tools menu.


Sub EditBox1_Change()
   ' Enter the value contained in the edit box in
   ' cell A1 on Sheet1
   Worksheets("Sheet1").Cells(1, 1).Value = _
      ActiveDialog.EditBoxes("Edit Box 1").Text
End Sub 
To assign the macro EditBox1_Change to the edit box, do the following:

  1. Select the sheet tab of the dialog sheet that contains your Edit Box.


  2. On the dialog frame, select the edit box, and choose Assign Macro from the Tools menu.


  3. From the Macro Name/Reference list, select EditBox1_Change and choose OK.


When you run the dialog box, and type text in the edit box and choose OK, the text is entered in cell A1 on Sheet1. The EditBox1_Change procedure sets the value of cell A1 equal to the text property of Edit Box 1.

NOTE: In this example, the name of the edit box is "Edit Box 1" and the name of the worksheet is "Sheet1". This example assumes that the dialog sheet that contains the edit box, the Visual Basic module that contains the EditBox1_Change procedure, and Sheet1 are located in the same workbook.


REFERENCES

"Visual Basic User's Guide," version 5.0, Chapter 11, "Linking Controls to Worksheets," and "Assigning Code to Controls and Dialog Boxes"

Additional query words: 5.00a 5.00c spin scroll button list


Keywords          : kbprg 
Version           : WINDOWS: 5.0, 5.0c, 7.0; MACINTOSH: 5.0, 5.0a
Platform          : MACINTOSH WINDOWS 
Issue type        : kbprb 

Last Reviewed: July 23, 1999