> ## Content Index
> Fetch the complete content index at: https://nolongerset.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Poor Man's Status Bar in VBA
- URL: https://nolongerset.com/poor-mans-status-bar/
- Published: 2021-07-25T02:55:48.000Z
- Updated: 2026-05-08T13:03:28.000Z
- Description: If you're looking for a quick and dirty way to keep track of a long-running process while developing, this VBA one-liner will do the trick.
- Author: Mike Wolfe
- Tags: Basic, DoEvents, Debugging, #Import 2026-05-20 02:59

Here's the quickest and dirtiest status bar I've ever come up with. 

This is of no use to end users, but for developers it's a quick and easy way to make sure your long-running loop isn't hung up.

```vba
Debug.Print ".";: DoEvents
```

Let's break this down:

- `Debug.Print`: sends output to the immediate window
- `"."`: any single character will do
- `;`: special syntax that prevents Debug.Print from adding a line break
- `:`: character used to combine multiple lines of code (keeps this a one-liner)
- `DoEvents`: yields execution so that the immediate window can be updated

### Sample usage

```vba
Sub TestPoorMansStatusBar()
    Debug.Print "Starting"
    Dim i As Long
    For i = 1 To 15
        Sleep 300
        Debug.Print ".";: DoEvents
    Next i
    Debug.Print "Done"
End Sub
```

Here is the sample output:

![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/07/3AA93104-7F3F-4E87-96BB-69F77E24D0F9.GIF)

The other nice thing is that the included call to DoEvents ensures that you can Ctrl + Break to pause your loop if it ends up taking a lot longer than you expected.

*Image by [Christian Dorn](https://pixabay.com/users/conmongt-1226108/?utm%5Fsource=link-attribution&utm%5Fmedium=referral&utm%5Fcampaign=image&utm%5Fcontent=4594533) from [Pixabay](https://pixabay.com/?utm%5Fsource=link-attribution&utm%5Fmedium=referral&utm%5Fcampaign=image&utm%5Fcontent=4594533)*