Ya puedo abrir el archivo de Excel, pero no sé como saber cuántas hojas tiene el archivo, como cambiar de una hoja a otra y como saber el número de filas que se tiene que leer. Agradezco tu ayuda desde ya. Atentamente, Jean Fernando Ortiz Arana
Soponiendo que tienes una variable llamada wbDatos que apunta al libro que acabas de abrir, para saber cuantas hojas tiene usa NumHojas = wbDatos.Worksheets.Count MsgBox "El libro " & wbDatos.Name & " tiene " & Format(NumHojas) & " hojas" para cambiar de una hoja a otra, usa el siguiente codigo 'aqui usamos el nombre de la hoja wbDatos.Worksheets("Hoja1").Activate 'aqui usamos el numero de hoja wbDatos.Worksheets(1).Activate Supongo que con "el número de filas que hay que leer" te refieres a que puede haber un numero variable de filas en cada hoja, por ejemplo, supongamos que tenemos tres hojas Hoja1, Hoja2 y Hoja3 y que cada una tiene datos que empiezan en la celda A1, pero no sabemos donde acaban, para saberlo, usa el siguiente código, suponiendo que en la celda A1 tenemos un titulo, el cual no se cuenta... wbDatos.Worksheets("Hoja1").Activate numFilas = Range("A1").End(xlDown).Row - 1 MsgBox "En la " & ActiveSheet.Name & " hay " & Format(numFilas) & " filas de datos" wbDatos.Worksheets("Hoja2").Activate numFilas = Range("A1").End(xlDown).Row - 1 MsgBox "En la " & ActiveSheet.Name & " hay " & Format(numFilas) & " filas de datos" wbDatos.Worksheets("Hoja3").Activate numFilas = Range("A1").End(xlDown).Row - 1 MsgBox "En la " & ActiveSheet.Name & " hay " & Format(numFilas) & " filas de datos" si son muchas hojas, se podria mejor el codigo con algo como esto. Dim wsActiva As Worksheet Dim numFilas As Long For Each wsActiva In wbDatos.Worksheets wsActiva.Activate numFilas = Range("A1").End(xlDown).Row - 1 MsgBox "En la " & ActiveSheet.Name & " hay " & Format(numFilas) & " filas de datos" Next wsActiva En este, no importa el numero ni el nombre de las hojas, TODAS las recorrerá y contara el numero de filas