Acerca de VBA Excel XP

Hola que tal!
Tengo una macro grabada en el Personal.xls del excel xp el cual abre una tabla de access y llena una lista y de la cual el usuario selecciona algo, una vez seleccionado algo, esto se debe de copiar a una hoja de excel ejem: Hoja1.Cells(87,10)=MiLista.Text
¿Siendo qué el archivo Personal.xls es una plantilla del Excel XP como le hago para que me escriba eso mismo pero en otra hoja de excel de otro libro?
Bueno, espero me puedas ayudar y te agradecería cualquier comentario o sugerencia.
Saludos,
Alberto

2 Respuestas

Respuesta
1
Antes que nada una pequeña aclaración conceptual PERSONAL.XLS no es una plantilla es un libro de excel que almacena las macros que puedes utilizar cada vez que abras excel independientemente del libro en el que estés ubicado. Si te fijas al abrir excel si despliegas el menú ventana y seleccionas la opción "mostrar" veras que ahí se encuentra el mencionado libro.
Bueno eso era una pequeña adición que en algún momento te puede servir para otro problema.
En cuanto a lo de copiar la macro que tienes en un libro que no sea el personal no es complicado (a propósito te agradecería si me la envías por correo a mera(underscore)cesar de hotmail pues me parrece interesante).
Bueno entremos en materia, primero que todo el libro en el que deseas que quede la macro debe estar abierto luego debes ingresar al editor de VBA con ALT+F11, por el menú "Ver" seleccionas la opción explorador de proyectos.
Ahí te aparecen unas carpetas a manera de explorador de Windows... buscas el módulo donde se encuentra la macro (de estar en módulos de PERSONAL.XLS), copias todo el texto. Luego seleccionas el VBAProject del libro objetivo... ahí en el menú "Insertar" seleccionas "Módulo"
Finalmente en la parte derecha te aparece un editor de textop en blanco... ahí copias el texto de la macro salvas... y estamos listos.
Espero que sea lo que necesitas y que te sirva, si me quedó algo mal o no entendiste no dudes en preguntar, si de lo contrario la respuesta te satisface te agradeceré una calificación acorde con la calidad y oportunidad de la misma.
Muchísimas gracias, me ha servido de mucho, sin embargo mi solución fue esta:
workbook(1).worksheet("Hoja1").Cells(x,y)=MiRecordSet.Fields(0)
Respuesta
1
Alberto,
si no te entendí mal, tu macro copia EN personal.xls la información, y necesitas que la copie en otro libro, ¿verdad?
Al decirle Hoja1. Cells(87,10)=MiLista.Text le estas diciendo que ponga ese texto en el objeto "Hoja1" del libro que contiene esa linea de código, es decir, Personal.xls. Deberías agregarle a tu código el nombre del libro donde debe copiarse la información:
Suponiendo que el libro es Tu archivo.xls, Y QUE ESTA ABIERTO (de otro modo, no te funcionará), esta linea de código te escribirá en A1 de la primer hoja el texto "Hola". Adáptalo a tu caso, y te debería funcionar.
Workbooks("TuArchivo.xls").Sheets(1).Cells(1, 1).Value = "Hola"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas