Leer Excel con visual basic (vb6)

Bienvenidos a VerTutoriales.com en esta ocasión vamos a ver como abrir un Excel y leer su contenido al completo. Recordad que hay que añadir la librería de Excel tal y como se muestra en el vídeo. Si tenéis alguna duda también podéis ver como añadir una librería en visual basic 6 aquí

En un proyecto que tenía que realizar y no tenía más que hacerle un tratamiento a un libro de Excel, como no conozco bien la programación desde las macros y prefiero programar en visual basic en Excel, me puse manos a la obra utilizando vb6 que es lo que conozco, así que lo primero era abrir el fichero y buscar la manera de leerlo, el código que encontré es el siguiente, ya está solucionado un error 1004 que me daba, así que os dejo el código funcional y sin errores.

Private Sub LeerExcel()

‘dimensiones
Dim xlApp As Excel.Application
Dim xlLibro As Excel.Workbook
Dim xlHoja As Excel.Worksheet
Dim varMatriz As Variant
Dim lngUltimaFila As Long

‘abrir programa Excel
Set xlApp = New Excel.Application
‘xl.Visible = True

‘abrir el archivo Excel
‘(archivo en la misma carpeta)
Set xlLibro = xlApp.Workbooks.Open(App.Path & “\prueba.xls”, True, True, , “”)
Set xlHoja = xlApp.Worksheets(“Hoja1″)

‘1. Si conoces el rango a leer
‘varMatriz = xlHoja.Range(“A1:C10″).Value

‘2. Si no conoces el rango
lngUltimaFila = _
Columns(“A:A”).Range(“A65536″).End(xlUp).Row

varMatriz = xlHoja.Range(xlHoja.Cells(1, 1), xlHoja.Cells(lngUltimaFila, 10))

‘utilizamos los datos…
txtLlamadas.Text = varMatriz(10, 3)

‘cerramos el archivo Excel
xlLibro.Close SaveChanges:=False
xlApp.Quit

‘reset variables de los objetos
Set xlHoja = Nothing
Set xlLibro = Nothing
Set xlApp = Nothing

End Sub

 

Solo tendreis que llamar a la función “leerexcel” desde donde querais, recordar que en varMatriz se está declarando la dimensión de esta, es decir, varMatriz = xlHoja.Range(xlHoja.Cells(1, 1), xlHoja.Cells(lngUltimaFila, 10)), le estamos diciendo que la dimensión va desde la celda 1,1 hasta la [ultima], 10.

Luego para tomar valores simplemente utilizar el acceso a tablas como se muestra txtLlamadas.Text = varMatriz(10, 3), este ejemplo devuelve la fila 10, columna 3.

Si teneis alguna duda, solo comentadlo :)

Te puede interesar:

5 comentarios

  • yeni commented on 17 abril, 2013 Reply

    hola

    tengo el mismo codigo pero apartir de de aqui:

    el 1°: me dice que no se ha delcarado el nombre “columns” y xIUp
    2°: lo mismo me pasa con cells, text1.text asi lo tengo yo aunque ya lo puse como esta en tu codigo me dice lo mismo, son esos los que me dicen que no estan declarados en que estoy mal

    lngUltimaFila = _ Columns(“A:A”).Range(“A65536″).End(xlUp).Row

    varMatriz = xlHoja.Range(xlHoja.Cells(1, 1), xlHoja.Cells(lngUltimaFila, 10))

    ‘utilizamos los datos…
    txtLlamadas.Text = varMatriz(10, 3)

    ‘cerramos el archivo Excel
    xlLibro.Close SaveChanges:=False
    xlApp.Quit

    ‘reset variables de los objetos
    Set xlHoja = Nothing
    Set xlLibro = Nothing
    Set xlApp = Nothing

    End Sub

    • VideoTutoriales commented on 18 abril, 2013 Reply

      Si no está declarado, es que no los tienes declarados :)

      Esta parta es necesaria, es donde se crean los objetos:
      Dim xlApp As Excel.Application
      Dim xlLibro As Excel.Workbook
      Dim xlHoja As Excel.Worksheet
      Dim varMatriz As Variant
      Dim lngUltimaFila As Long

      ‘abrir programa Excel
      Set xlApp = New Excel.Application
      ‘xl.Visible = True

      ‘abrir el archivo Excel
      ‘(archivo en la misma carpeta)
      Set xlLibro = xlApp.Workbooks.Open(App.Path & “\prueba.xls”, True, True, , “”)
      Set xlHoja = xlApp.Worksheets(“Hoja1″)

      Prueba.xls es el libro de excel que quieres leer y Hoja1 es el nombre de la hoja que vayas a leer. Sino recuerdo mal, puedes omitir el nombre y poner directamente el número del array, es decir Worksheets(1) siendo 1 el número de hoja a leer del documento excel.

      Espero que te resuelva el problema con tu lectura de un file excel :)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>