VBA Pegar Especial para Copiar Valores y Formatos en Excel (9 Ejemplos) -

  • Compartir Este
Hugh West

Cuando necesitamos copiar y pegar cualquier dato en Microsoft Excel, tenemos la facilidad de diferentes atajos y herramientas de cinta en Excel. Excel VBA Macro también tienen esta facilidad en lugar de opciones de libro de trabajo. Vamos a discutir la Pegado especial VBA valores y formatos en Excel.

Descargar el cuaderno de prácticas

Descárgate este cuaderno de prácticas para ejercitarte mientras lees este artículo.

Valores y formatos con PasteSpecial.xlsm

9 Ejemplos para Copiar Valores y Formatos con Pegado Especial en Excel VBA

En este artículo hablaremos de 9 métodos con Macros VBA para Pegado especial valores y formato en Excel.

Para ello, consideraremos el conjunto de datos que figura a continuación.

1. Aplicar InputBox en VBA Pegar Especial para Copiar Valores y Formatos

En este ejemplo utilizaremos la opción InputBox para Pegado especial .

Primer paso:

  • Ir a la Desarrollador ficha.
  • Haga clic en Grabar macro .
  • Establecer Excel_Pegar_Special_1 como el Nombre de la macro .
  • A continuación, pulse OK .

Segundo paso:

  • Ahora, haga clic en el botón Macros mando.
  • Seleccione Macro y, a continuación, pulse Entra .

Paso 3:

  • Copia y pega el siguiente código en el módulo de comandos.
 Sub Excel_Paste_Special_1() Dim Copy_Cell As Range, Paste_Cell As Range xTitleId = "Salary_Sheet" Set Copy_Cell = Application.Selection Set Copy_Cell = Application.InputBox("Selecciona el rango a copiar :", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Pega en cualquier celda en blanco:", xTitleId, Type:=8) Copy_Cell.Copy Paste_Cell.Parent.Activate Paste_Cell.PasteSpecialxlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub 

Paso 4:

  • Pulse F5 para ejecutar el código.
  • Aparecerá un nuevo cuadro de diálogo. Seleccione el rango de origen en ese cuadro.
  • A continuación, pulse OK .

Paso 5:

  • Aparecerá otro cuadro de diálogo. Elija un rango en blanco donde pegar las celdas copiadas.

Ahora, mira el conjunto de datos.

Todos los datos se copian con valores y formatos utilizando la función Pegado especial VBA .

Más información: Cómo aplicar VBA PasteSpecial y mantener el formato de origen en Excel

2. Insertar Rango de Celdas con Valores y Formatos Usando xlPasteAllUsingSourceTheme en VBA Pegado Especial

Insertaremos el rango de celdas directamente en el VBA código en esta sección.

Primer paso:

  • Pulse Alt+F11 para entrar en el módulo de mando.
  • Pon el siguiente código en el módulo de comandos.
 Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Segundo paso:

  • Ahora, pulse F5 para ejecutar el código.

Este xlPasteAllUsingSourceTheme copia el duplicado exacto de los datos de origen.

Más información: Excel VBA: Copiar valor de celda y pegar a otra celda

3. Usar Variable VBA para Insertar Rango con Valores y Formatos Usando Pegado Especial

Mostraremos el uso de variables en el Pegado especial VBA código aquí.

Primer paso:

  • En primer lugar, entre en el módulo de comandos pulsando Alt+F11 .
  • Escribe el siguiente código en el módulo de comandos.
 Sub Excel_Paste_Special_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Segundo paso:

  • Pulse F5 y ejecuta el código.

Más información: Excel VBA: Copiar Rango a Otro Libro

4. Utilizar xlPasteValues y xlPasteFormats para Copiar Valores y Formatos en Otra Hoja Manteniendo los Formatos Sin Cambios

Los métodos anteriores se utilizaron para copiar y pegar datos en la misma hoja. Ahora, mostraremos cómo utilizar la función Pegado especial VBA para hojas diferentes.

Primer paso:

  • Acceda al módulo de comandos pulsando Alt+F11 y copiar el siguiente código en él.
 Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormatsApplication.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Segundo paso:

  • Pulse F5 para ejecutar el código.

Podemos ver que los datos del Conjunto_datos se copia en Hoja_distinta .

Más información: Cómo utilizar VBA PasteSpecial para fórmulas y formatos en Excel (3 maneras)

Lecturas similares

  • Cómo copiar varias celdas a otra hoja en Excel (9 métodos)
  • Diferencia entre Pegar y Pegado Especial en Excel
  • Excel VBA para copiar datos de otro libro sin abrir
  • Cómo copiar y pegar en Excel y mantener el tamaño de las celdas (7 ejemplos)
  • Copiar y Pegar Valores en la Siguiente Fila Vacía con Excel VBA (3 Ejemplos)

5. Utilice xlPasteFormats para pegar sólo los formatos

En los métodos anteriores, copiamos los datos completos y los pegamos sin cambios. Pero en esta sección, copiaremos sólo el formato de los datos.

Primer paso:

  • Vaya al módulo de mando pulsando Alt+F11 .
  • Copia y pega el siguiente código en el módulo de comandos.
 Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub 

Segundo paso:

  • Ahora, pulse el botón F5 y ejecute el código.

Mire el conjunto de datos. Sólo se copian los formatos, aquí no hay valores.

Más información: Cómo copiar y pegar en Excel sin cambiar el formato

6. Utilice xlPasteValues para pegar sólo los valores

Sólo podemos copiar los valores utilizando la función Pegado especial VBA .

Primer paso:

  • Pulse Alt+F11 para entrar en el módulo de mando.
  • Escribe el siguiente código en el módulo de comandos.
 Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub 

Segundo paso:

  • Haga clic en F5 y ejecuta el código.

Observe el conjunto de datos. Aquí sólo se copian valores. En este método no se copian formatos.

Más información: Cómo utilizar VBA para pegar valores sólo sin formato en Excel

7. Copiar y pegar todo el contenido de una celda

En las secciones anteriores, copiamos un rango de datos. Aquí, copiaremos sólo una celda.

Primer paso:

  • Ahora, pulse Alt+F11 y entra en el módulo de comandos.
  • Escriba el siguiente código en el módulo.
 Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Segundo paso:

  • Ahora, pulse el botón F5 para ejecutar el código.

Podemos ver que aquí se copia una sola celda, no un rango.

Más información: Fórmula para Copiar y Pegar Valores en Excel (5 Ejemplos)

8. Copiar y pegar todos los atributos de una columna determinada con VBA

Al igual que una sola celda, podemos copiar una sola columna del conjunto de datos.

Primer paso:

  • Basta con pulsar el botón Alt+F11 para entrar en el módulo de mando.
  • Escriba el siguiente código en el módulo.
 Sub Excel_Paste_Special_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Columns("C") Set paste_rng = Columns("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Segundo paso:

  • Ejecute el código pulsando F5 .

Aquí, podemos ver que Columna B se copia en Columna E .

Más información: [Solucionado]: Copiar y pegar con el botón derecho del ratón no funciona en Excel (11 soluciones)

9. Copiar y Pegar Todos los Atributos de una Fila con Excel VBA

Del mismo modo, podemos copiar una sola fila utilizando la función Pegado especial .

Primer paso:

  • Haga clic en Alt+F11 para entrar en el módulo de comandos.
  • Copie el siguiente código en el módulo de comandos.
 Sub Excel_Paste_Special_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Segundo paso:

  • Ejecute el código pulsando F5 .

Toma, Fila 4 se copia en Fila 11 .

Más información: Cómo Copiar Varias Filas en Excel Usando Macro (4 Ejemplos)

Conclusión

En este artículo hemos explicado 9 métodos de VBA Pegar valores especiales y formatos en Excel. Espero que esto satisfaga sus necesidades. Por favor, eche un vistazo a nuestro sitio web Exceldemy.com y danos tus sugerencias en el cuadro de comentarios.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.