Como copiar módulos en Excel

Hola...
Estoy trabajando una macro en Excel con un libro que tiene varias hojas. El resultado de la macro es un nuevo libro con algunas de las hojas del libro principal, lo que quiero es copiar uno de los módulos de VB al nuevo libro. Como puedo hacerlo.
Gracias.

1 Respuesta

Respuesta
1
Pues este enlace te ayudara:
Enlace
Abraham
Gracias por tu ayuda, la explicación del enlace es excelente, sin embargo, cuando intento grabar el proyecto me sale el siguiente aviso:
" Your changes could not be saved to "file.xls" because of a sharing violation..."
¿Sabes cuál puede ser la causa de ese mensaje?
Gracias.
Pues, sin saber exactamente que hiciste, como lo hiciste y en donde lo hiciste, pues, sobre ese error te podría dar variasssss probables respuestas. ¿Por qué no detallas lo que has hecho? ¿Activaste las referencias que dice en el enlace que te envíe?
Abraham
Hola.
Si, las activaciones que aparecen en el enlace las hice.
Lo que hago es muy sencillo (por lo menos en lineas de código):
With Workbooks("Mix.xls")
FName = .Path & "\code.txt"
.VBProject.VBComponents("Module2").Export FName
End With
'lsWorkBook.VBProject.VBComponents.Import FName
Lo que hago antes de ese código es copiar 4 hojas en un libro nuevo (apuntado por lsWorkBook), después debería ejecutar el código (copiar un modulo de Mix.xls a el libro nuevo) y finalmente guardar el nuevo libro.
La ultima linea esta en comentario porque es la que causa el problema:
-Con esa linea comentada la macro funciona bien, es decir, crea el nuevo libro, copia las hojas, crea un archivo con el modulo2 y salva lsWorkBook.
-Cuando le quito el comentario y le doy salvar me sale el error que te comenté en el mensaje anterior.
Gracias nuevamente por tu ayuda.
y que es lsWorkBook... ¿una variable? ¿Y cómo esta declarada? ¿Qué define?
Abraham
Si, es una variable, declarada asi: Dim lsWorkBook As New Workbook Y mas adelante instanciada asi: Set lsWorkBook = Workbooks.Add.
Usando lsWorkBook hago referencia al nuevo libro donde copio las hojas y donde quiero copiar el modulo.
Saludos.
Pues, aunque siguus sin mostrar todo el código, pues, aparentemente, no debería existir ningún dilema
Abraham

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas