2011-03-14 16:18:46 +0000 2011-03-14 16:18:46 +0000
42
42

¿Intercambiar el contenido de las celdas en Excel?

¿Existe una manera fácil de intercambiar el contenido de dos celdas en Microsoft Excel?

Por fácil, me refiero a un atajo de teclado o a un elemento de menú, sin tener que copiar en celdas temporales ni escribir scripts VBA ni nada por el estilo. En otras palabras, estoy buscando una forma de seleccionar dos celdas y hacer clic en algún elemento del menú o pulsar alguna combinación de teclas que intercambie su contenido. Seguramente, tiene que haber una manera de hacer esto.

Respuestas (8)

47
47
47
2013-01-15 19:12:17 +0000

De: http://www.extendoffice.com/documents/excel/860-excel-swap-contents-of-two-cells.html

A veces, hay que intercambiar dos celdas contiguas. Podemos hacerlo manualmente de forma sencilla. Mira la siguiente captura de pantalla, quiero intercambiar las celdas A4 y B4, por favor haz lo siguiente:

  1. Seleccione la celda que desea intercambiar. En este ejemplo, seleccione la celda A4.

  2. Pulsa la tecla Mayúsculas y coloca el cursor en el borde derecho.

  3. A continuación, arrastre el cursor hasta el borde derecho de la celda B4.

  4. Cuando aparezca “工”, suelte el ratón.

  5. Y los contenidos de las dos celdas se han intercambiado.

Con este método, también podemos intercambiar dos filas o columnas contiguas.

18
18
18
2012-11-22 09:20:50 +0000

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 .

  1. Seleccione el rango derecho o inferior
  2. Pulse Ctrl+X
  3. Seleccione el rango adyacente (es decir, directamente arriba o a la izquierda)
  4. Pulse Ctrl+ + (el + suele estar por encima de la tecla = por lo que se traduce en Ctrl+Mayús+=)

Tenga en cuenta que puede utilizar el mismo procedimiento para intercambiar filas o columnas adyacentes enteras.

15
15
15
2011-03-14 16:44:48 +0000

Por fácil, me refiero a un atajo de teclado o a un elemento de menú, sin que implique copiar en celdas temporales o escribir scripts VBA ni nada por el estilo. Estoy buscando una forma de seleccionar dos celdas y hacer clic en algún elemento del menú o pulsar alguna combinación de teclas que intercambie su contenido.

¿Por qué imponer esta restricción? Crear una macro hace que esto sea trivial. Que yo sepa, no se puede hacer de otra manera. Puedes asignar la macro a un botón o a una tecla de acceso directo.

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
5
5
5
2011-03-24 20:24:16 +0000

No hay manera de intercambiar el contenido de dos celdas en Excel, sin escribir tu propia macro para hacerlo.

EDIT: Parece que ahora puede haber una manera fácil de intercambiar el contenido de las celdas en las versiones más recientes de Excel, por lo que esta respuesta es probablemente ahora fuera de fecha.

2
2
2
2014-01-05 19:25:48 +0000

Selecciona el primer conjunto de celdas a intercambiar y pulsa ctrl+x:

Selecciona las celdas de ADEMÁS de las que quieres intercambiar y pulsa ctrl++.

0
0
0
2018-11-22 04:53:36 +0000
  • Seleccione la celda inferior que desea intercambiar
  • Pulse Ctrl+X y vaya a la celda que desea intercambiar con
  • Pulse Ctrl+Mayús+=

El intercambio se ejecutará

0
0
0
2018-01-08 03:00:45 +0000

Leí este post pero en realidad necesitaba una macro para intercambiar gamas completas. Además, necesitaba intercambiar los colores. Modificado la macro originalmente publicado ligeramente, esto podría ser útil para alguien.

Sub Swap()

    If Selection.Areas.Count <> 2 Then
         MsgBox "Select 2 cell ranges (only) to swap."
         Exit Sub
    End If

    If Selection.Areas(1).Count <> Selection.Areas(2).Count Then
         MsgBox "The two areas must be of equal size"
         Exit Sub
    End If

    'With this for loop we run through each cell 1 by 1
    For i = 1 To Selection.Areas(1).Count
        'Swapping values
        temp = Selection.Areas(1)(i)
        Selection.Areas(1)(i) = Selection.Areas(2)(i)
        Selection.Areas(2)(i) = temp

        'Swapping color
        tempColor = Selection.Areas(1)(i).DisplayFormat.Interior.Color
        Selection.Areas(1)(i).Interior.Color = Selection.Areas(2)(i).DisplayFormat.Interior.Color
        Selection.Areas(2)(i).Interior.Color = tempColor
    Next i

End Sub
0
0
0
2014-12-05 17:19:03 +0000

Puedes pegar hasta 25 elementos en el portapapeles, por lo que son fáciles de intercambiar usando ctr+tab o cmd+tab mac