Pasar variables de un libro a otro

Puede que la pregunta sea un poco simple, pero ahora no caigo como hacerlo. Ahí va:
Tengo dos libros con sus correspondientes macros. Me gustaría coger el dato de una variable de un libro al otro libro. Sé que podría ponerla en una celda y luego cogerla, pero me parece demasiado chapucero y seguramente haya otra cosa que se puede hacer. Muchas gracias
Respuesta
1
Para hacer referencia a las macros de otro libro, primero debes ir al menú Herramientas del editor de VB y escoger la opción Referencias, luego debes seleccionar el proyecto (o Libro) al cual quieres hacer referencia desde tu proyecto actual.
Una vez hecho esto lo que puedes hacer es llamar a procedimientos o funciones que se encuentran en algunos de los proyectos que has seleccionado como referencias.
Para llamar a un procedimiento debes hacer :
Call NombreProyecto.NombreMódulo.Procedimiento(Argumento1,Argumento2....)
Es importante poner el nombre del proyecto (el que se especifica en las propiedades del proyecto) y no el nombre del libro.
Aquí va un ejemplo, supón que necesitamos llamar desde nuestro proyecto actual a un procedimiento que se encuentra en un proyecto llamado Libro2, entonces en un módulo de nuestro proyecto escribimos :
Sub proc()
Call Libro2.Modulo1.valor(variable)
ThisWorkbook.ActiveSheet.Range("B1") = variable
End Sub
Este procedimiento llama al procedimiento "valor" del módulo Modulo1 del proyecto Libro2, y luego asigna el valor resultante de "variable" a la celda B1 de la hoja activa.
El procedimiento "valor" del módulo Modulo1 del proyecto Libro2 es el siguiente :
Sub valor(variable)
variable = ThisWorkbook.Sheets(1).Range("A1").Value
variable = variable * 10
End Sub
Este procedimiento toma el valor de la celda A1 de la hoja 1 de libro correspondiente al proyecto Libro2 y luego lo multiplica por 10.
Espero que esto te haya sido de ayuda, si tienes dudas vuelve a preguntarme con toda confianza, suerte!.
(Si quieres saber más acerca de las macros para excel, visita mi página www.excelworker.virtuabyte.cl)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas