This is a bit dangerous -
If only one cell is selected, the data is deleted (by ActiveCell =
cval(2)) and a run-time error is generated by Range(cadd(2)).Select.
Also, if more than two cells are selected, a subscript out of range
error will be generated, though in that case no data is destroyed.
I would at least put a line in like
If Selection.Count < 2 Then Exit Sub
In article ,
dominicb
wrote:
Good afternoon William
You could use VBA thus:
Sub Swap()
Dim cval(), cadd()
a = 1
ReDim cval(2), cadd(2)
For Each usrcell In Selection
cval(a) = usrcell.Value
cadd(a) = usrcell.Address
a = a + 1
Next usrcell
Range(cadd(1)).Select
ActiveCell = cval(2)
Range(cadd(2)).Select
ActiveCell = cval(1)
End Sub
Just highlight the two cells and run the macro.
HTH
DominicB
|