Microsoft KB Archive/166144

= Visual Basic Code to Activate a Text Box for Editing =

Article ID: 166144

Article Last Modified on 9/13/2006

-

APPLIES TO


 * Microsoft Excel 5.0 Standard Edition
 * Microsoft Excel 5.0c
 * Microsoft Excel 95 Standard Edition
 * Microsoft Excel 95a
 * Microsoft Excel 97 Standard Edition
 * Microsoft Office 97 Standard Edition

-



This article was previously published under Q166144



SUMMARY
In Microsoft Excel, you can use Visual Basic for Applications code to activate a text box for editing. This article contains an example macro that demonstrates how to perform this task.

NOTE: This example will not work in Microsoft Excel for the Macintosh, since the SendKeys method is not available on the Macintosh.



MORE INFORMATION
Microsoft provides examples of Visual Basic for Applications 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. The Visual Basic procedures in this article are provided 'as is' and Microsoft does not guarantee that they can be used in all situations. While Microsoft Support professionals can help explain the functionality of a particular macro, they will not modify these examples to provide added functionality, nor will they help you construct macros to meet your specific needs. If you have limited programming experience, you may want to consult one of the Microsoft Solution Providers. Solution Providers offer a wide range of fee-based services, including creating custom macros. For more information about Microsoft Solution Providers, call Microsoft Customer Information Service at (800) 426-9400.

To activate a text box for editing, enter the following code into a Visual Basic module: Sub ActivateTextBox

'Dimension variables. Dim xString As String

'In this example, the name of the text box is "Text Box 1". You 'can change this as required. ActiveSheet.TextBoxes("Text Box 1").Select

'Store the contents of the text box in the variable xString. If Len(Selection.Text) > 0 Then xString = Selection.Text Else xString = "" End If

'Use SendKeys to activate the text box, restore the original text, 'and move to the beginning of the text box. Application.SendKeys (xString & "^{HOME}")

End Sub When you run this macro, "Text Box 1" will be activated for editing. The contents of the text box will not be removed, but they will be re-entered by the macro, so you may see the contents briefly disappear and then reappear. If the text box contains a large amount of text, it may take several seconds or more for the text to reappear.

You can use this technique in any Visual Basic macro. However, the SendKeys command must be the last line in the macro, or the text box may not be activated correctly.

Additional query words: XL7 XL5

Keywords: kbinfo kbprogramming kbcode KB166144

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.