Colocar progreso de macro en barra de estado
Tengo un código, deseo que me de el progreso en la barra de estado, todo funciona bien, pero no logro que calcule el numero de celdas recorridas, es decir siempre muestra el avance como: 0 de 3 y 0% de progreso, la variable que deseo definir es "c", que a mi parecer es la que no esta calculando, les dejo mi código y agradezco su ayuda.
Option Explicit Sub ExtraerDatos() Dim IE As Object Dim UltimaFila As Long, c As Long Dim elementsTable As Object, elementsTableDiv As Object Dim Celda As Range Dim colFiles As New Collection Application.ScreenUpdating = False Application.Cursor = xlWait Set IE = CreateObject("InternetExplorer.Application") Let UltimaFila = Cells(Rows.Count, 1).End(xlUp).Row IE.navigate "https://coresalud.msp.gob.ec/coresalud/app.php/publico/rpis/afiliacion/consulta" Do Until IE.readyState = 4 DoEvents Loop For Each Celda In Range("A1:A" & UltimaFila) Application.StatusBar = " Progreso " & c & " de " & UltimaFila & ".... " & Format(c / UltimaFila, "0%") & " completo" Application.Wait (Now + TimeValue("0:00:01")) With IE .Document.getElementById("identificacion").Value = Celda.Value .Document.getElementById("fechaconsulta").Value = "04-01-2019" .Document.getElementsByTagName("button")(1).Click End With Do While elementsTableDiv Is Nothing Set elementsTableDiv = IE.Document.getElementsByClassName("table-responsive") DoEvents Loop Do While elementsTableDiv(0) Is Nothing DoEvents Loop Set elementsTable = elementsTableDiv(0).getElementsByTagName("TABLE") Range("B" & Celda.Row).Value = elementsTable(0).Rows(1).Cells(0).innerText Range("C" & Celda.Row).Value = elementsTable(0).Rows(1).Cells(1).innerText Range("D" & Celda.Row).Value = elementsTable(0).Rows(1).Cells(2).innerText Range("E" & Celda.Row).Value = elementsTable(0).Rows(1).Cells(3).innerText Set elementsTableDiv = Nothing Set elementsTable = Nothing Next Celda Application.StatusBar = False IE.Quit Set IE = Nothing Application.ScreenUpdating = True Application.Cursor = xlDefault MsgBox "Proceso finalizado" End Sub
1 Respuesta
Respuesta de Abraham Valencia
1