Leer Excel con visual basic (vb6)
Foto-Carlos-Dk

Leer Excel con visual basic (vb6)

Un proyecto que me ha salido y no tenía más que hacerle un tratamiento a un excel, como no conozco bien la programación desde las macros, 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:

4 Respuestas

  1. Cargar una referencia vb6 (probamos con librería excel) - Tutoriales y Videotutoriales en www.vertutoriales.com

    noviembre 25th, 2011 a 10:31 am

    1

    [...] ejemplo utilizamos una librería para excel que nos sirvió para el código para el tutorial de “Leer excel con visual basic 6″, así podreis completar o comprender mejor como y para qué [...]

  2. Leer primera hoja de un Excel con Visual Basic 6 (vb6) - Tutoriales y Videotutoriales en www.vertutoriales.com

    septiembre 29th, 2012 a 11:32 am

    2

    [...] ello os invito primero a leer el documento de leer excel con visual basic 6 donde encontrarás el código completo para poder realizar una lectura de una tabla de excel desde [...]

  3. yeni

    abril 17th, 2013 a 4:21 pm

    3

    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

  4. VideoTutoriales

    abril 18th, 2013 a 8:02 am

    4

    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 :)


Insertar al RSS los comentarios de esta entrada

Escribe tu comentario