Saltar al contenido

Copiar y Pegar (Mejorar Macro)


Recommended Posts

publicado

Hola a tod@s. 

Como siempre agradecido por su tiempo y aporte para este nuevo tema.

Tengo la siguiente macro

Sub CopyPaste()
    Dim xRng As Range
    On Error Resume Next
        Set xRng = Application.InputBox("Selecciones el rango:", "MS Excel", , , , , , 8).Select
   '     If xRng Is Nothing Then Exit Sub
        Selection.SpecialCells(xlCellTypeBlanks).Select
        Range("A1").End(xlDown).Offset(1, 0) = "=R[-1]C"
        Columns("A:A").SpecialCells(xlCellTypeFormulas, 23).Copy
'        Range("A1").End(xlDown).Copy
        ActiveSheet.Paste

End Sub

El cual funciona bien cuando se ingresa el rango en el InputBox. El detalle esta cuando decido "Cancelar" el InputBox; la macro continua ejecutandose ?.

Cuando activo activo el "bloque sin comentarios" de la siguiente linea

If xRng Is Nothing Then Exit Sub

la macro no se ejecuta ?

Saludos

 

 

PruebaCopyPaste.xlsm

publicado

Hola, el código debería ir así:

Sub CopyPaste()
    Dim xRng As Range
    On Error Resume Next
        Set xRng = Application.InputBox("Selecciones el rango:", "MS Excel", , , , , , 8)
        If xRng Is Nothing Then Exit Sub
        xRng.SpecialCells(xlCellTypeBlanks).Select
        Range("A1").End(xlDown).Offset(1, 0) = "=R[-1]C"
        Columns("A:A").SpecialCells(xlCellTypeFormulas, 23).Copy
'        Range("A1").End(xlDown).Copy
        ActiveSheet.Paste

End Sub

Saludos

publicado
Hace 3 horas, AlexanderS dijo:

Hola, el código debería ir así:

Saludos

Hola @AlexanderS , muchas gracias por su tiempo y aporte; esta perfecto.

Doy por terminado el tema.

Saludos

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.