Not sure about the second part, might need a macro or something. As far as the first part goes, if you enter =ROW(A12) in any cell, it will return the value 12.
HTH
Richard
For the first part try =row()
Yes, as it has already been suggested, entering in A12 the formula
=ROW()
will produce 12 as result.
If you mean by "to go to D12" fetching the value in D12, the answer is again yes:
If A1 = 12 (meaning: A1 has 12 as value), then
=INDIRECT(ADDRESS(A1,4))
will give you the value that is in D12. The formula treats the value in A1 as a row number. Note that 4 stands for column D. If you put the following formula
=COLUMN(D:D) [ or =COLUMN(D12)
in some cell, you'll get 4 as value.
I leave to the VBA folks how to move the cursor ("go to D12"), given a row number in some cell, say 12 in A1.
Aladin