We select and review products independently. When you purchase through our links we may earn a commission. Learn more.

How to Create a Progress Bar in Microsoft PowerPoint

A progress bar is a graphic that, in PowerPoint, visually represents the percentage of the slideshow that has been completed. It’s also a good indicator of the remaining amount. Here’s how to create a progress bar in Microsoft PowerPoint.

You can manually create a progress bar by inserting a shape at the bottom of each slide. The problem with this approach is that you’ll need to measure the length of each shape based on the number of slides in the presentation. Additionally, if you add or remove a slide, you’ll need to manually redo the progress bar on every slide in the slideshow.


To keep everything consistent and save yourself a serious headache, you can use a macro to create a progress bar. With this macro, the progress bar will automatically adjust itself based on the number of slides in the presentation.

RELATED: Macros Explained: Why Microsoft Office Files Can Be Dangerous

First, open the PowerPoint presentation that you would like to create a progress bar for. Once it’s open, click the “View” tab, then select “Macros.”

The “Macro” window will appear. In the text box below “Macro Name,” type in a name for your new macro. The name can’t contain spaces. Once it’s entered, click “Create,” or, if you’re using Mac, click the “+” icon.


The “Microsoft Visual Basic for Applications (VBA)” window will now open. In the editor, you’ll see this code:

The Best Tech Newsletter Anywhere

Join 425,000 subscribers and get a daily digest of features, articles, news, and trivia.

We've got your info - thanks for signing up!
We were unable to subscribe you! Please check your e-mail address or contact us for assistance.
Signing you up...

By submitting your email, you agree to the Terms of Use and Privacy Policy.

Sub ProgressBar()

End Sub

First, place your cursor between the two lines of code.


Next, copy and paste this code:

On Error Resume Next
With ActivePresentation
For X = 1 To .Slides.Count
Set s = .Slides(X).Shapes.AddShape(msoShapeRectangle, _
0, .PageSetup.SlideHeight - 12, _
X * .PageSetup.SlideWidth / .Slides.Count, 12)
s.Fill.ForeColor.RGB = RGB(127, 0, 0)
s.Name = "PB"
Next X:
End With

Once it’s pasted, your code should look like this in the editor.


Note: There are no line breaks now between the first and last line of code.

You can now close the VBA window. Back in Microsoft PowerPoint, click “Macros” in the “View” tab again.


Next, choose your macro name (“ProgressBar” in our example) to select it, then click “Run.”


The progress bar will now appear at the bottom of each slide of your presentation.


If you delete a slide, the progress bar will adjust itself automatically. If you add a new slide, you’ll need to run the macro again (View > Macro > Run). It’s a minor inconvenience when compared to adjusting everything manually.

Marshall Gunnell
Marshall is a writer with experience in the data storage industry. He worked at Synology, and most recently as CMO and technical staff writer at StorageReview. He's currently an API/Software Technical Writer based in Tokyo, Japan, runs VGKAMI and ITEnterpriser, and spends what little free time he has learning Japanese. Read Full Bio »