Copiar y pegar rangos de celdas no contiguos (Microsoft Excel)
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.