Assigning Clients a random number
Your question is why does it take a long time to update the Application.StatusBar 10,000,000 times?  The answer is that you are updating the Application.StatusBar 10,000,000 times.

Using the Timer from TheSpreadSheetGuru, I calculated that it takes roughly 1 sec to do 10,000 updates.  So it will take roughly 10,000,000/10,000/60 minutes just to do the updates.  That is roughly 16.667 minutes.



Sub CalculateRunTime_Seconds()
'PURPOSE: Determine how many seconds it took for code to completely run
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
    Dim x As Long
    Dim StartTime As Double
    Dim SecondsElapsed As Double

    'Remember time when macro starts
    StartTime = Timer

    '*****************************
    'Insert Your Code Here...
    For x = 1 To 1000
        Application.StatusBar = x
    Next
    '*****************************

    'Determine how many seconds code took to run
    SecondsElapsed = Round(Timer - StartTime, 2)

    'Notify user in seconds
    MsgBox "This code ran successfully in " &amp; SecondsElapsed &amp; " seconds", vbInformation

End Sub