Documente Academic
Documente Profesional
Documente Cultură
inShar e
Copiar y pegar valores en Excel es una tarea muy comn por lo que ser casi inevitable que en algn momento necesites hacer un copiado y pegado de celdas dentro de una macro. Para copiar y pegar celdas con VBA haremos uso de los mtodos Copy y PasteSpecial del objeto Range.
Este cdigo copiara el contenido de la celda A1 y lo pegar en la celda B1. El argumento xlPasteAll ocasiona que se pegue todo el contenido en la celda B1incluyendo el formato de la celda y las frmulas. Finalmente la instruccin Application.CutCopyMode = False hace que Excel de por finalizada la accin de copiado y pegado.
Observa que ahora el argumento utilizado es xlPasteValues el cual ocasionar que se peguen solamente los valores de las celdas copiadas.
Si en lugar de copiar la columna A, necesitas copiar la fila 1 y pegarla en la fila 2, entonces puedes usar el siguiente cdigo:
Para pegar los valores a una hoja diferente, solamente debemos especificar la hoja destino haciendo uso del objeto Worksheets de la siguiente manera:
Ahora bien, si tanto la hoja origen como la hoja destino son diferentes a la hoja activa, entonces ser necesario indicar el nombre de la hoja tanto al momento de copiar como al momento de pegar. En el siguiente cdigo estoy suponiendo que el botn que ejecuta la macro se encuentra en la Hoja1 y copiar todo el contenido de la celda A1 de la Hoja2 hacia la celda B1 de la Hoja3:
Este cdigo copia todo el contenido de la celda A1 (incluyendo frmulas y formato) a la celda B1 de la misma hoja. El argumento Destination es el que nos permite especificar el rango en el
cual se pegarn los valores. A continuacin puedes observar, en el mismo bloque de cdigo, diferentes ejemplos utilizando este mismo mtodo abreviado para copiar celdas con VBA:
Como has visto en los ejemplos de este artculo, el primer mtodo que utilizamos nos ofrece una gran flexibilidad a travs del mtodo PasteSpecial el cual nos permite elegir si deseamos pegar todo el contenido de una celda o solo sus valores. Pero si ests seguro de querer copiar siempre todo el contenido de las celdas, entonces el mtodo abreviado, utilizando el argumento Destination del mtodo Copy, ser suficiente para lograr nuestro objetivo. Ahora ya sabes cmo copiar y pegar celdas con VBA y solo es cuestin de que elijas el mtodo adecuado a tus necesidades.