Seems like a non-macro approach would consume less key-strokes.
1.Put a conditional formula in the 2nd data row, like
=IF(C2<>"",B1+1,"")
2. Copy the formula and paste it down column B
3. Enter the numbet 1 in B1 (assuming that is the first data row)
4. Change Excel movement options on Enter to down via
[Tools][Options][Edit] Move selection after Enter
and
5. Find the last row filled via placing your cursor in column C and
pressing [Ctrl][down arrow].
Whenever you enter a name in column C, press [Tab]. The number will
appear in column B. Enter the address in column D and press [Enter].
The cursor should go to column C of the next line.