Autor Tema: Ejecutar una macro de VBA ejecutándola desde Visual Basic método Run ejemplo  (Leído 2518 veces)

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, este sería un código de ejemplo para ejecutar una macro invocándola desde Visual Basic. Este código habría que adaptarlo a la versión de Visual Basic con que se esté trabajando, y cambiar el nombre test por el nombre que tenga la macro. En el código se puede hacer que el excel se visualice manteniendo Excel.Visible = True o bien que no se visualice eliminando esta línea.

Código: [Seleccionar]
Private Sub Command1_Click() 
    Dim ret As Boolean 
    ' le pasa la ruta del libro y el nombre de la macro _ 
    NOTA: Si la macro tiene parámetros, pasarlos al método Run, _ 
    por ejemplo: Excel.Run "NombreMacro","Param1","Param2", ..etc.... 
     
    ret = Ejecutar("c:\Libro1.xls", "test") 
     
    If ret Then 
       MsgBox "OK", vbInformation 'OK 
    End If 
End Sub 
 
Private Sub Form_Load() 
    Command1.Caption = "Ejecutar Macro" 
End Sub 
 
Function Ejecutar(Libro As String, _ 
                  Macro As String) As Boolean 
 
 
On Error GoTo Error_function 
 
Dim Excel As Object 
    'Nueva Referencia al Excel 
    Set Excel = CreateObject("Excel.Application") 
    Excel.Visible = True ' opcional 
    With Excel 
        .Application.workbooks.open Libro ' abre el libro 
        .Run (Macro) ' ejecuta la macro 
    End With 
 
    ' descarga la referencia 
    Set Excel = Nothing 
    Ejecutar = True ' OK 
 
Exit Function 
 
Error_function: 
' elimina la referencia 
If Not Excel Is Nothing Then Set Excel = Nothing 
' mensaje de error 
If Err Then 
   MsgBox Err.Description, vbCritical 
End If 
End Function 


Macro de ejemplo que va escribiendo valores desde la celda 1 hasta la 10 , luego se guarda el libro y se cierra

Código: [Seleccionar]
    Sub test() 
     
    Dim i As Integer 
     
    ' escribe algunos datos en las celdas 
    For i = 1 To 10 
        Cells(i, 1) = Cells(i, 1) + i 
    Next 
     
     
    ' guarda y cierra este libro 
        ActiveWorkbook.Save 
        Excel.Application.Quit 


Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".