Thread: Swap Cells
View Single Post
  #5   Report Post  
JE McGimpsey
 
Posts: n/a
Default

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