Szilvia puede crear un conjunto de selección de celdas, de modo que tenga seleccionado un rango de celdas no contiguas. Si intenta copiar esas celdas usando Ctrl + C, Excel le informa que «esta acción no funcionará en selecciones múltiples». Szilvia se pregunta si hay alguna forma de copiar un rango no contiguo y luego pegar ese rango para que las celdas estén en la misma posición relativa que en la selección original.

Aparentemente, esta limitación de solo permitirle copiar y pegar rangos contiguos es la forma en que Excel está diseñado para funcionar. La única forma de copiar y pegar un rango no contiguo es utilizar una macro, una que recorra cada celda de una selección y la pegue en relación con una dirección de destino. El siguiente es un ejemplo:

Sub CopyPasteCells()

Dim sTemp As String     Dim sTarget As String     Dim c As Range     Dim pasteRng As Range

sTemp = InputBox("Target cell?")

sTarget = Trim(sTemp)

If sTarget > "" Then         Set pasteRng = ActiveSheet.Range(sTarget)

For Each c In Selection             c.Copy             pasteRng.Range(c.Address).PasteSpecial xlPasteValues         Next     End If     Application.CutCopyMode = False End Sub

Para usar la macro, simplemente cree su conjunto de celdas de selección. Luego, ejecute la macro y especifique la celda de destino para pegar. Las celdas se pegan en relación con esa celda de destino en la hoja de trabajo actual.

Debe tener en cuenta que la macro realiza muy pocas comprobaciones de errores. Por ejemplo, podría ingresar una dirección de celda de destino totalmente falsa y la macro intentaría adaptarse a su solicitud. (Si la dirección de destino es demasiado falsa, recibirá un mensaje de error).

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (5228) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.