May 21 2021 12:23 PM
Let's say my cursor is in cell D123. I want to create a macro that will jump to A300, save "D123" in A300, so some calculations, and then go back to cell D123.
My Visual Basic skills have atrophied. So, my questions:
Thanks in advance.
P.S. I used to know enouigh Visual Basic to do this, but I haven't programmed anything in a few years. Let that be a lesson to all of us -- keep your skills fresh.
May 21 2021 12:49 PM
You don't really have to jump to A300 to store a cell address there. In fact, you rarely need to select a call or range in a macro. It is perfectly possible to perform calculations and manipulate cells without selecting them. And you could also store the cell that is active when you start the macro (or its address) in a variable.
If you still need to store the address of the active cell in A300:
Range("A300").Value = ActiveCell.Address
May 21 2021 01:20 PM
May 21 2021 01:29 PM - edited May 21 2021 01:30 PM
SolutionNo, Address is a read-only property: you cannot set it.
You use the Select method of a cell to make it the active cell.
You could do this:
Dim CameFrom As Range
Set CameFrom = ActiveCell
...
<your calculations here>
...
CameFrom.Select
Note that CameFrom is a Range variable here, not a String variable.
May 21 2021 01:29 PM - edited May 21 2021 01:30 PM
SolutionNo, Address is a read-only property: you cannot set it.
You use the Select method of a cell to make it the active cell.
You could do this:
Dim CameFrom As Range
Set CameFrom = ActiveCell
...
<your calculations here>
...
CameFrom.Select
Note that CameFrom is a Range variable here, not a String variable.