Solución:
De: http://www.extendoffice.com/documents/excel/860-excel-swap-contents-of-two-cells.html
A veces, es necesario intercambiar dos celdas contiguas. Podemos hacerlo manualmente fácilmente. Mire la siguiente captura de pantalla, quiero intercambiar la celda A4 y B4, haga lo siguiente:
Seleccione la celda que desea intercambiar. En este ejemplo, seleccione la celda A4.
prensa Cambio y coloque el cursor en el borde derecho.
Luego, arrastre el cursor al borde derecho de la celda B4.
Cuando aparezca “工”, suelte el mouse.
Y el contenido de las dos celdas se ha intercambiado.
Con este método, también podemos intercambiar dos filas o columnas contiguas.
Para el caso específico de rangos rectangulares adyacentes del mismo tamaño, puede utilizar el método descrito en esta respuesta a una pregunta similar.
- Seleccione el rango derecho o inferior
- prensa control+X
- Seleccione el rango adyacente (es decir, directamente arriba o hacia la izquierda)
- prensa control++ (los
+
suele estar por encima del=
clave, por lo que esto se traduce en control+Cambio+=)
Tenga en cuenta que puede utilizar el mismo procedimiento para intercambiar filas o columnas adyacentes completas.
Por fácil, me refiero a un atajo de teclado o un elemento de menú, sin tener que copiar a celdas temporales o escribir scripts de VBA o algo por el estilo. Estoy buscando una manera de seleccionar dos celdas y hacer clic en algún elemento del menú o presionar alguna combinación de teclas que intercambie su contenido.
¿Por qué imponer esta restricción? Crear una macro hace que esto sea trivial. Hasta donde yo sé, no se puede hacer de otra manera. Puede asignar la macro a un botón o tecla de acceso rápido.
Sub Swap()
If Selection.Count <> 2 Then
MsgBox "Select 2 cells (only) to swap."
Exit Sub
End If
Set trange = Selection
If trange.Areas.Count = 2 Then
temp = trange.Areas(2)
trange.Areas(2) = trange.Areas(1)
trange.Areas(1) = temp
Else
temp = trange(1)
trange(1) = trange(2)
trange(2) = temp
End If
End Sub