Copiar valores pasados de VBA
- macros en excel
- Trabajo de macros en Microsoft Excel
- Demostración de los valores de copiar y pegar de VBA
Este tutorial ilustra cómo podemos copiar los valores de una columna a otra dentro de la misma hoja o en una hoja diferente en Excel usando VBA.
macros en excel
Se ha vuelto más fácil realizar tareas repetidas de Excel usando macros escritas en VBA. Podemos escribir Macros para hacer un trabajo específico, y el usuario puede ejecutarlas cuando lo requiera.
Hace que sea más fácil hacer cosas complejas varias veces una y otra vez. Las macros deben codificarse una vez y pueden usarse infinitas veces. Recuerde, debemos escribir Macros de tal manera que mejore la usabilidad.
Intente NO codificar valores en una macro. Es ideal para tomar entradas del usuario para mejorar la usabilidad.
Si está buscando declaraciones de VBA que le permitan copiar los valores de una columna a otra en Excel, debe conocer la definición y el uso de una macro.
Las macros en Microsoft Excel son una característica excelente que automatiza repetidamente las tareas deseadas. En resumen, una Macro es una acción o un conjunto de actividades que el usuario registra para ejecutarla con frecuencia.
Trabajo de macros en Microsoft Excel
Podemos escribir macros de dos maneras en Microsoft Excel. Ambos métodos están diseñados para garantizar la viabilidad del usuario. Estos son los dos enfoques para trabajar con macros en Microsoft Excel:
Enfoque 1: grabar una macro
El método más fácil para realizar una tarea repetidamente con la ayuda de una macro es crear y grabar una. Podemos hacer todo esto solo con la ayuda de algunos clics del mouse y pulsaciones de teclas.
Los pasos para grabar una macro son bastante sencillos. Simplemente siga las instrucciones que se mencionan a continuación:
- Abra la pestaña
Ver
en Microsoft Excel. Debe mostrar una opción paraMacros
. Al hacer clic en la opciónMacros
, debería brindarte la opción de ver las diferentes macros que ya se han grabado. Además, también debería permitirle grabar una nueva macro. - Haga clic en la opción
Grabar macro
y aparecerá una ventana. - Asigne un nombre a la macro y descríbala. Puede crear un acceso directo para una macro específica. Por ejemplo, establecer el atajo como Ctrl + w ejecutará automáticamente la macro cada vez que se llame a este atajo. Por supuesto, esto es opcional, pero se recomienda como una buena práctica.
- Registre todas las pulsaciones de teclas y clics del mouse que le gustaría repetir dentro de la macro específica y deje de grabar la macro tan pronto como termine el trabajo.
- Siempre que ejecute la macro desde la pestaña
Ver
o use el acceso directo que definió anteriormente, realizará la misma tarea registrada en la macro.
Grabar una macro con referencias absolutas o referencias relativas
Por defecto, una Macro se graba con direcciones absolutas. Por lo tanto, si copia valores de la columna A
a la columna C
, la Macro grabada siempre hará la misma tarea.
Si graba la Macro con referencias relativas, actuará en relación con la celda seleccionada; por ejemplo, la Macro graba copiando valores de la columna A
a la columna C
.
Si se elige la columna W
para ejecutar la macro, copiará los valores de la columna W
y los pegará en la columna Y
. Nuevamente, no olvide utilizar el direccionamiento absoluto o relativo según sus requisitos.
Enfoque 2: escribir una macro
Si desea realizar tareas particulares, como aquellas que requieren la entrada de los usuarios o que proporcionan resultados a los usuarios, debe anotar estas macros.
Grabar una Macro no le permite realizar y generalizar tareas específicas; por lo tanto, puede escribir una macro adaptada a sus necesidades utilizando VBA en Microsoft Excel.
Las instrucciones para escribir una macro son bastante sencillas. Los siguientes pasos definen el procedimiento para escribir una Macro:
-
Elija el botón
Macro
en la pestañaDesarrollador
en Microsoft Excel. -
La opción abre un cuadro de diálogo Macros donde puede acceder a todas las subrutinas VBA o Macro.
-
Haga clic en el botón
Visual Basic
para abrir un editor de Visual Basic. -
Dentro de este editor, puede escribir el código para su macro, editarlo, probarlo y ejecutarlo. Recuerde, no hay opciones para elegir direcciones absolutas y relativas al escribir una macro.
Si el código VBA está codificado de forma rígida con valores específicos, se ejecutará de acuerdo con referencias absolutas. Si el código VBA está escrito en general, se ejecutará de acuerdo con las referencias relativas.
Demostración de los valores de copiar y pegar de VBA
Si desea copiar valores de una columna y pegarlos en otra columna existente en la misma hoja o en una hoja diferente, un código VBA simple y fácil puede ser la solución.
El artículo comparte una subrutina para realizar la tarea de copiar y pegar valores de una columna a otra utilizando referencias absolutas y relativas.
El propio usuario puede escribir la función principal y puede incluir la subrutina mencionada en el artículo para realizar la tarea de copiar y pegar valores.
A continuación se mencionan tres soluciones:
Solución 1: Copie los valores de la Columna1
de la Hoja1
a la Columna2
de la Hoja2
Código de ejemplo:
Public Sub CopyPasteValues()
Sheets("Sheet1").Columns(1).Copy
Sheets("Sheet2").Columns(2).PasteSpecial xlPasteValues
End Sub
El código anterior crea una subrutina CopiarPegarValores()
que selecciona Columna1
de Hoja1
y la copia. Luego selecciona Columna2
de Hoja2
y pega los valores copiados. El atributo xlPasteValues
solo se usa para copiar los valores de las celdas.
Solución 2: Copie los valores de la Columna A
de la Hoja 1
a la Columna B
de la Hoja 2
Código de ejemplo:
Public Sub CopyPasteValues()
Sheets("Sheet1").Columns(A).Copy
Sheets("Sheet2").Columns(B).PasteSpecial xlPasteValues
End Sub
El código anterior es similar al código mencionado en la primera solución. Es una alternativa a la primera solución para dar una idea al usuario de las múltiples opciones que podemos utilizar para acceder a las columnas de una hoja en Excel.
Solución 3: subrutina con referencias relativas para copiar valores dentro de un rango específico
La tercera solución comparte una subrutina con referencias relativas para copiar valores de un rango específico a otro.
Código de ejemplo:
Public Sub CopyPasteValues()
Dim arr1, arr2, i As Integer
arr1 = Array("AC", "AD")
arr2 = Array("A", "B")
For i = LBound(arr1) To UBound(arr1)
Sheets("Sheet1").Columns(arr1(i)).Copy
Sheets("Sheet2").Columns(arr2(i)).PasteSpecial xlPasteValues
Next
Application.CutCopyMode = False
End Sub
El código anterior crea una subrutina CopyPasteValues()
que utiliza direcciones relativas en el bucle for
; por lo tanto, se utilizan variables para ello.
- El
arr1
es el rango específico enSheet1
que se tiene que copiar. - El
arr2
es el rango específico enSheet2
donde pegaremos los valores. - La variable
i
es un contador para el buclefor
.
El bucle for
copia los valores de la columna AC
de la Hoja1
a la columna A
de la Hoja2
y continúa la ejecución. Al final del bucle for
, se escribe Application.CutCopyMode = False
para anular la selección de los rangos específicos de valores que se seleccionan para copiar a la otra hoja.
Entonces, aprendimos que VBA permite a los usuarios escribir macros en Microsoft Excel para realizar tareas frecuentes rápidamente. Podemos grabar Macros así como escribir. También permite que las macros sirvan funcionalidades ilimitadas en Microsoft Excel.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub