Excel VBA Paste Values

Diariamente, usualmente usamos la función copiar / pegar en Excel con frecuencia. Además de copiar / pegar, también podemos formatear datos con varias opciones mencionadas a continuación disponibles en pegado especial.

Función VBA PASTE VALUES Pega solo los valores del rango de datos copiados como se muestra en las celdas.

Nota: No copiará la fórmula subyacente presente en la celda, que encontrará en la barra de fórmulas. es decir, copiará solo el valor resultante de una fórmula.

En la ventana de macro VB, CTRL + ESPACIO clic lo ayudará a desplegar VBA Intellisense, que ayuda a escribir el código. Después de escribir PASTE SPECIAL y hacer clic en la barra espaciadora a continuación, aparecen varias opciones de tipos de pegado que también contienen xLPasteValues.

Sintaxis para pegar valores en Excel VBA

La sintaxis para la función VBA Paste Value en excel es la siguiente:

Antes de pegar valores especiales o Cuando usa opciones especiales de pegado, el objeto Rango de VBA debe mencionarse antes porque está copiando los datos de un rango de celdas específico a otro rango de celdas.

Aquí, con referencia a la hoja de trabajo de Excel, el objeto de rango VBA son celdas que pueden ser simples o múltiples.

Tipo de pasta:

Los diferentes tipos de pasta que aparecen en el menú desplegable de PASTE SPECIAL son:

Tipo de operación XlPaste:

Similar a las opciones de tipo de pegado, también hay una opción de operaciones de pegado también donde puede realizar a continuación las operaciones matemáticas mencionadas.

  • (Omitir espacios en blanco): si desea omitir espacios en blanco, puede elegir cualquiera de las opciones, es decir, VERDADERO o FALSO.
  • (Transposición): si desea transponer los datos, puede elegir cualquiera de las opciones, es decir, VERDADERO o FALSO

Supongamos que tengo los datos de origen en un rango de G7 a J10, que contiene la puntuación de los estudiantes y sus resultados con referencia a la identificación de registro, donde contiene fórmulas, datos de texto y datos numéricos.

Necesito copiar estos datos en otro rango de celdas en la misma hoja sin fórmula, es decir, solo como un valor, para esto necesito seguir los pasos mencionados a continuación.

¿Cómo utilizar la función Pegar valores en Excel VBA?

A continuación se muestran los diferentes ejemplos para usar la función Pegar valores en Excel usando el código VBA.

Puede descargar esta plantilla de Excel de valores de pegado de VBA aquí - Plantilla de Excel de valores de pegado de VBA

Función de valores de pegado de VBA - Ejemplo # 1

Paso 1: abra una ventana de VB Editor con la ayuda de la tecla de acceso directo Alt + F11, seleccione o haga clic en Visual Basic en el grupo Código en la pestaña Desarrollador.

Paso 2: Para crear un módulo en blanco, haga clic con el botón derecho en los objetos de Microsoft Excel, en ese clic en Insertar y en la sección del menú seleccione Módulo, donde se crea el módulo en blanco, en la sección de categoría (NOMBRE) de propiedades, puede cambiar el nombre como "VB_PASTE_VALUES"

Código:

 Sub PASTE_VALUES () End Sub 

Paso 3: primero necesito copiar el rango de datos con la ayuda de Range. Método de copia (para copiar el rango específico de datos), es decir, de G7 a J10 del nombre de hoja "VB_PASTE_VALUES" para copiar el rango, necesito aplicar o agregar el código mencionado a continuación después de sub.

Código:

 Sub PASTE_VALUES () Rango ("g7: j10"). Copia Fin Sub 

Paso 4: una vez después de copiar los datos, necesito pegar los valores de G14 a J17. Aquí la primera referencia del rango es G14, aquí puedo ingresar "G14" O puedo ingresar "G14 a J17". Después de seleccionar el rango, necesito pegar. Entonces, para esto, coloque un punto (.) Después del rango y escriba PasteSpecial, una vez que haga clic en la tecla de la barra espaciadora, a continuación se mencionan varias opciones de xlpastetype, en las que se selecciona xlPasteValues

Código:

 Sub PASTE_VALUES () Rango ("g7: j10"). Copiar rango ("g14"). PasteSpecial xlPasteValues ​​End Sub 

Paso 5: Una vez que ejecuta este código, copió los datos de G7 a J10 y los pegó de G14 a J17 como valores.

Ahora, en el ejemplo mencionado anteriormente, hay una diferencia en el formato de tabla entre los datos copiados y pegados. (Cambios de formato).

Paso 6: si desea el mismo formato de tabla, debe actualizar el código con los cambios mencionados a continuación, donde debe usar una línea adicional de código xlPasteformat antes de xlPastevalues

Código:

 Sub PASTE_VALUES () Rango ("g7: j10"). Copiar rango ("g14: j17"). PasteSpecial xlPasteFormats Range ("g14: j17"). PasteSpecial xlPasteValues ​​End Sub 

Paso 7: Cuando ejecute el código anterior, inicialmente copiará y pegará el formato de tabla y luego pegará los valores.

Nota: Cuando ejecuta los códigos mencionados anteriormente, durante el procedimiento de copiar y pegar valores una vez que se copian los datos, aparece el modo de selección, puede observarlo a través de los bordes con líneas de puntos verdes.

Puede eliminar eso actualizando la macro con el último código de línea antes de finalizar el subcomando, es decir

Application.cutcopymode = false el código anterior deshabilitará a las hormigas que marchan alrededor de un rango copiado

Función de valores de pegado de VBA - Ejemplo # 2

En el primer ejemplo, hicimos una copia y pegamos datos en la misma hoja de cálculo,

Ahora, suponga que desea copiar datos de una hoja de trabajo a otra hoja de trabajo, eche un vistazo a cómo podemos realizar esta tarea

Paso 1: en el editor de VBA, tengo un nombre dado como PASTE_VALUES3 () después de escribir Sub

Código:

 Sub PASTE_VALUES_3 () End Sub 

Paso 2: Antes de seleccionar el rango, debemos informar de qué hoja deben seleccionarse los datos, por lo que la hoja de trabajo debe seleccionarse, después de esto, debemos seleccionar el rango con la ayuda del rango. Método de copia similar a Ejemplo 1.

Código:

 Sub PASTE_VALUES_3 () Hojas de trabajo ("VB_PASTE_VALUES"). Rango ("g7: j10"). Copia Fin Sub 

En el código anterior, el nombre de la hoja de trabajo es "VB_PASTE_VALUES", y el rango de datos es "g7: j10"

Paso 3: En el siguiente paso, estamos pegando datos a otra hoja de trabajo, por lo tanto, debemos seleccionar esa hoja por su nombre y rango donde necesitamos pegar los datos, después del rango, debemos ingresar la función especial de pegado y la opción de tipo de pegado, es decir PasteSpecial xlPasteValue

Código:

 Sub PASTE_VALUES_3 () Hojas de trabajo ("VB_PASTE_VALUES"). Range ("g7: j10"). Copiar hojas de trabajo ("Sheet2"). Range ("A1"). PasteSpecial xlPasteValues ​​End Sub 

Paso 4: Al final del código, antes de finalizar el sub, debemos ingresar el código mencionado anteriormente, donde se desactivarán las hormigas que marchan alrededor del rango copiado.

Código:

 Sub PASTE_VALUES_3 () Hojas de trabajo ("VB_PASTE_VALUES"). Range ("g7: j10"). Copiar hojas de trabajo ("Sheet2"). Range ("A1"). PasteSpecial xlPasteValues ​​Application.CutCopyMode = False End Sub 

Paso 5: Ahora, el código está listo, una vez que ejecute el código mencionado anteriormente, devolverá la salida mencionada a continuación en la hoja2, es decir, los datos copiados se pegarán en la hoja2 desde la celda A1 (como valores de pegado)

Piensa en recordar

  • Solo se puede realizar una tarea especial de pegado a la vez, puede ser tipo de pegado u operación de pegado. Pegado especial (Pegar, Operación, Saltar espacios en blanco, Transponer), en la función de pegado especial, los cuatro argumentos son opcionales, donde los dos primeros argumentos son importantes a través de los cuales podemos controlar los valores del conjunto de datos (formato, coloración y validación de datos)
  • Las opciones de tipo de pegado en pegado especial son importantes y útiles para formatear datos cuando extrae datos de varias bases de datos
  • En VBA, solo para pegar valores, hay varias otras opciones disponibles aparte del rango.

Artículos recomendados

Esta es una guía de valores de pegado de VBA. Aquí discutimos cómo usar la función Excel VBA Paste Values ​​junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Función de copiar y pegar en VBA
  2. Función de subcadena de Excel
  3. VBA Subíndice fuera de rango
  4. Fórmula ISNUMBER de Excel

Categoría: