¿Cómo conectar MySQL mediante VBA en Excel?

Para conectar MySQL con Excel utilizando VBA, necesitas asegurarte de tener instalado el conector ODBC para MySQL. Aquí te dejo una guía paso a paso para establecer esta conexión:

Pasos para Conectar MySQL con VBA en Excel:

Sub ConectarMySQL()
    ' Declarar las variables
    Dim conn As Object
    Dim rs As Object
    Dim sqlStr As String
    Dim DSN As String
    Dim strConn As String
    
    ' Inicializar las variables
    DSN = "TuDSN" ' Reemplaza con el nombre de tu DSN configurado
    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    
    ' Cadena de conexión
    strConn = "DSN=" & DSN & ";"

    ' Abre la conexión
    On Error GoTo ErrorHandler
    conn.Open strConn
    
    ' Ejemplo de consulta SQL
    sqlStr = "SELECT * FROM TuTabla" ' Reemplaza "TuTabla" con el nombre de tu tabla

    ' Ejecutar y abrir el recordset
    rs.Open sqlStr, conn

    ' Iterar por cada registro
    While Not rs.EOF
        Debug.Print rs.Fields(0).Value ' Imprime el primer campo del registro actual
        rs.MoveNext
    Wend

    ' Cerrar el recordset y la conexión
    rs.Close
    conn.Close

    ' Liberar objetos
    Set rs = Nothing
    Set conn = Nothing
    
    Exit Sub
    
ErrorHandler:
    MsgBox "Error: " & Err.Description
    If Not rs Is Nothing Then
        If rs.State = 1 Then rs.Close
    End If
    If Not conn Is Nothing Then
        If conn.State = 1 Then conn.Close
    End If
    Set rs = Nothing
    Set conn = Nothing
End Sub
  • Instalar el Conector ODBC de MySQL:
    • Descarga e instala el MySQL ODBC Connector desde el [sitio oficial de MySQL](https://dev.mysql.com/downloads/connector/odbc/).
  • Configurar el DSN (Data Source Name):
    • Abre el “Administrador de Orígenes de Datos ODBC” en tu sistema operativo.
    • Haz clic en “Agregar” y elige “MySQL ODBC Driver”.
    • Completa la configuración especificando el nombre del DSN, el servidor, el nombre de usuario, la contraseña y la base de datos a la que deseas conectarte.
  • Escribir el Código VBA:
    • Abre Excel y presiona `ALT + F11` para abrir el Editor de VBA.
    • Ve a “Insertar” y selecciona “Módulo” para crear un nuevo módulo.
    • Escribe el siguiente código como ejemplo para conectarte a tu base de datos MySQL y ejecutar una consulta:

Consideraciones:

  • Reemplaza `TuDSN` y `TuTabla`: Asegúrate de sustituir estos valores con el nombre de tu DSN y la tabla que deseas consultar.
  • Manejo de Errores: El bloque `On Error GoTo ErrorHandler` es clave para manejar errores y asegurarse de que las conexiones se cierren adecuadamente.

Prueba de Conexión:

  • Ejecuta la macro desde el editor de VBA presionando `F5` o desde Excel mediante una asignación a botones o Activando Macros.

Siguiendo estos pasos deberías poder conectarte a tu base de datos MySQL desde Excel utilizando VBA. Asegúrate de probar la conexión para confirmar que puedes acceder a los datos deseados.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project