Help w/ getting F2 into a macro

L

Les Juby

I have an Excel 2000 speadsheet with 9000 rows of data which someone
imported from some other software.

The one column should contain numeric data, but the import left it
with some preceding spaces and a following asterisk. This needs to be
converted to numerical format which can be referenced by formulae.

I really don't want to plow through 9000 lines and am trying to set up
a macro to do this.

The following keystrokes have the right effect.

F2 (function key to go to edit mode)
Backspace (to delete the training asterisk character)
Enter (which writes back to the cell and moves the cursor to the
next cell below)

My problem in creating the macro are:

1. How to get the Macro Record to record an F2 depress
2. How to get the macro to loop

I guess I can just stop it with Ctrl-C when it gets past line 9000

Could someone clip some code here please that I can just paste into
the Macro Editor.?

thanks for the help

.les.
 
G

Guest

It can be done without a macro:
Select the column!
Choose Edit/Replace!
Enter one space in the Search for field and nothing in the Replace by field!
Click Replace All!
Enter ~* in the Search for field and nothing in the Replace by field!
Click Replace All!

Regards,
Stefi

„Les Juby†ezt írta:
 
A

Arvi Laanemets

Hi

Select the range with data. Be sure that it is formatted as General or
Numeric. Replace all spaces (" ") with nothing. Replace all asterics with
nothing.
 
B

Bob Phillips

The loop

For i = 1 To Cells(Rows.Count,"A").End(xlUp).Row
... do your stuff
Next i

F2 simulation

Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Private Declare Function GetKeyboardState Lib "user32" ( _
pbKeyState As Byte) As Long

Const VK_F2 = &H71
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2

Sub SimulateF2()
Dim keys(0 To 255) As Byte

Range("A1").Activate
GetKeyboardState keys(0)
'Simulate Key Press
keybd_event VK_F2, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
'Simulate Key Release
keybd_event VK_F2, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End Sub




--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Macro 5
Pasting cell contents into a macro 1
SUMPRODUCT macro 2
Macro change - help please 3
Press F2 with vba 4
Macro - insert slashes into a cell 1
Record Macro Relative does not work? 3
The Relative Macro 6

Top