Tabla de contenido
Sin embargo, hay situaciones en las que queremos duplicar algo más que texto. Podemos copiar todas las capacidades de Excel, como el formato condicional, la validación de datos, el formato de tipo de datos y características estéticas como los bordes y los colores de las celdas. Tal vez admires la combinación de colores de tu compañero de trabajo pero necesites datos estáticos, o tal vez las fórmulas sean fantásticas pero te disguste la combinación de colores.En este tutorial mostraremos el VBA PasteSpecial y mantenga el formato de origen en Excel.
Descargar el cuaderno de prácticas
Descárgate este cuaderno de prácticas para ejercitarte mientras lees este artículo.
VBA PegarEspecial.xlsm4 Ejemplos Fáciles para Aplicar VBA PasteSpecial y Mantener el Formato de Origen en Excel
Demostraremos cuatro ejemplos de cómo utilizar el especial de pegar en VBA A continuación se muestra un conjunto de datos de ejemplo que utilizaremos para copiar y pegar.
1. Agregar Cuadro de Entrada Usando VBA PasteSpecial y Mantener Formato de Fuente en Excel
En primer lugar, utilizaremos el cuadro para seleccionar un rango y luego pegarlo en otra celda. Para ello, sigue los pasos que se indican a continuación.
Primer paso:
- En primer lugar, pulse Alt + F11 para iniciar un Macro .
- A continuación, haga clic en el botón Insertar, elija el Módulo opción.
Segundo paso:
- Pegue el siguiente código VBA.
Sub PasteSpecialKeepFormat() 'Declarar CopyCell y PasteCell como variables de rango Dim CopyCell As Range, PasteCell As Range 'Dar un nombre al cuadro de entrada xTitleId = "ExcelWIKI" 'Establecer el rango de copia se seleccionará de la hoja de cálculo Set CopyCell = Application.Selection 'Establecer un cuadro de entrada para tomar un rango para copiar Set CopyCell = Application.InputBox("Seleccionar rango para copiar :", xTitleId, CopyCell.Address,Type:=8) 'Establecer un cuadro de entrada para tomar un rango para pegar Set PasteCell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) 'Comando para copiar el rango seleccionado CopyCell.Copy 'Comando para pegar el rango PasteCell.Parent.Activate 'Comando para que las celdas pegadas mantengan el formato de origen PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub
Tercer paso:
- Guardar el programa y pulse F5 para ejecutarlo.
- Después de aparecer el ExcelWIKI seleccione el intervalo $B$4:$C$11 .
- Haga clic en OK .
Paso 4:
- Seleccione cualquier celda en blanco para pegar.
- A continuación, haga clic en DE ACUERDO.
- Por lo tanto, obtendrá el valor de pegado manteniendo intacto el formato.
Más información: Diferencia entre Pegar y Pegado Especial en Excel
2. Aplicar VBA PegarEspecial para Seleccionar Rango y Mantener el Formato de Origen en Excel
En VBA También puede especificar rangos y copiarlos y pegarlos manteniendo el formato de origen. Siga los pasos que se indican a continuación para hacerlo.
Primer paso:
- Pulse Alt + F11 para abrir Macro .
- Cree un nuevo módulo a partir de Inserte
- Simplemente, pegue lo siguiente VBA código de la gama B4:C11 .
Sub pasteSpecial_KeepFormat() 'seleccionar rango a copiar Range("B4:C11").Copy 'seleccionar celda a pegar 'Comando a pegarSpecial manteniendo el Formato Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
Segundo paso:
- Por último, guarda el programa y pulsa F5 En consecuencia, verá los cambios como se muestra en la siguiente imagen.
Read More: VBA Pegar Especial para Copiar Valores y Formatos en Excel (9 Ejemplos)
Lecturas similares
- Código VBA para Comparar Dos Hojas de Excel y Copiar las Diferencias
- Excel VBA: Copiar valor de celda y pegar a otra celda
- Cómo copiar varias celdas a otra hoja en Excel (9 métodos)
- Excel VBA: Copiar Rango a Otro Libro
- [Solucionado]: Copiar y pegar con el botón derecho del ratón no funciona en Excel (11 soluciones)
3. Declarar Variable Aplicando VBA PasteSpecial y Mantener Formato de Origen en Excel
Mediante la declaración de variables y la configuración de variables en diferentes rangos, siga los pasos que se indican a continuación para pegarSpecial en VBA .
Paso 1:
- En primer lugar, pulse Alt + F11 para abrir Macro VBA .
- Seleccione un nuevo Módulo .
- A continuación, pegue lo siguiente Código VBA .
Sub Copy_Paste_Special() 'Declara variables Dim copy_Rng As Range, Paste_Range As Range 'Comando para copiar rango Set copy_Rng = Range("B4:C11") 'Comando para pegar rango Set Paste_Range = Range("E4") copy_Rng.Copy 'Pega el comando a pasteSpecial manteniendo el formato Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
Segundo paso:
- Después de guardar el programa, pulse F5 para correr.
- Por lo tanto, el rango copiado se pegará manteniendo el formato de origen como antes.
Más información: Cómo utilizar VBA PasteSpecial para fórmulas y formatos en Excel (3 maneras)
4. Usar VBA PasteSpecial y Mantener el Formato de Origen en una Hoja de Trabajo Diferente en Excel
Hablaremos de un método muy significativo en esta parte. Porque vamos a ver cómo usar PasteSpecial en VBA en varios libros de trabajo. Por ejemplo, copiaremos de Hoja4 y pegarlo en Hoja5 como se muestra en los pasos siguientes.
Paso 1:
- Para abrir Macro VBA pulse Alt + F11
- Desde el Inserte seleccione la pestaña Módulo.
- A continuación, pegue lo siguiente VBA.
Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Declarar variables Dim copyRng As Worksheet Dim pasteRng As Worksheet 'Establecer rango destino a la variable Set copyRng = Worksheets("Hoja4") Set pasteRng = Worksheets("Hoja5") 'establecer el destino de las celdas pegadas 'Para la celda E4, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'Comando para copiar el rango copyRng.Range("B4:C11").Copy 'Comando para pegar el rango Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
Segundo paso:
- Para ejecutar el programa, pulse F5 después de guardar el programa.
- Por lo tanto, obtendrá el valor pegado en hoja 5 manteniendo el formato de origen.
Más información: Cómo usar el comando especial Pegar en Excel (5 formas adecuadas)
Conclusión
En resumen, espero que ahora sepas cómo utilizar Excel VBA Examine el libro de prácticas y aplique lo aprendido. Nos motiva seguir dando conferencias como ésta gracias a su importante apoyo.
Si tiene alguna pregunta, no dude en ponerse en contacto con nosotros. Comparta su opinión en el cuadro de comentarios que figura a continuación.
Sus preguntas serán respondidas lo antes posible por el Exceldemy personal.
Quédate con nosotros y sigue aprendiendo.