Importar un módulo de un archivo usando VBA en Microsoft Excel

Anonim

En este artículo, crearemos una macro para importar un módulo al libro activo.

Usaremos Filename.bas como módulo, que queremos importar.

Haga clic en el botón Insertar para importar el módulo de Filename.bas al libro activo.

El libro de trabajo contiene solo un módulo "MainModule".

Después de ejecutar la macro, se importará un nuevo módulo desde Filename.bas

Explicación lógica

En este artículo, hemos creado dos macros, InsertVBComponent y Calling_Procedure

InsertVBComponent

Toma el nombre del libro de trabajo y el nombre del archivo como entradas e importa el módulo al libro de trabajo.

Calling_Procedure

Se utiliza para llamar a la macro InsertVBComponent con el libro de trabajo activo y Filename.bas como entradas.

Explicación del código

Si Dir (CompFileName) "" Entonces

El código anterior se usa para verificar si el nombre del archivo existe en el directorio.

wb.VBProject.VBComponents.Import CompFileName

El código anterior se usa para importar el módulo al libro de trabajo activo.

Siga a continuación para obtener el código

 Option Explicit Sub InsertVBComponent (ByVal wb As Workbook, ByVal CompFileName As String) 'Inserta el contenido de CompFileName como un nuevo componente en el libro de trabajo' CompFileName debe ser un componente VBA válido adecuado para 'importación (un componente VBA exportado)' Verificando si el archivo CompFileName existe Si Dir (CompFileName) "" Entonces 'Ignorar errores en caso de error Reanudar siguiente' Inserta el componente del archivo wb.VBProject.VBComponents.Import CompFileName en caso de error Ir a 0 Finalizar si establece wb = Nothing End Sub Sub Calling_Procedure () 'Llamando a InsertVBComponent procedimiento InsertVBComponent ActiveWorkbook, "C: \ Users \ Ramandeep \ Desktop \ Filename.bas" End Sub 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico