VBA User Forms videos | Excel VBA Forms Pt 10 - Scroll Bar Controls

Posted by Andrew Gould on 31 March 2016

A Scroll Bar is like the big brother of a Spin Button, allowing you to set a numeric value by clicking and dragging a bar. This video shows you how to use a scroll bar to control both a numeric value and a date.

See our full range of VBA training resources, or test your knowledge of VBA with one of our VBA skills assessment tests.

This video has the following accompanying files:

File name Type Description
Profitable Films - Pt10 ScrollBar Controls.xlsm Excel workbook with macros

Click to download a zipped copy of the above files.

There are no exercises for this video.

Making a  video bigger

You can increase the size of your video to make it fill the screen like this:

View full screen

Play your video (the icons shown won't appear until you do), then click on the full screen icon which appears as shown at its bottom right-hand corner.


When you've finished viewing a video in full screen mode, just press the Esc key to return to normal view.

Improving the quality of a video

To improve the quality of a video, first click on the Settings icon:

Settings icon

Make sure you're playing your video so that the icons shown appear, then click on this gear icon at the bottom right-hand corner.


Choose to change the video quality:

Video quality

Click on Quality as shown to bring up the submenu.


The higher the number you choose, the better will be your video quality (but the slower the connection speed):

Connection speed

Don't choose the HD option unless you have a fast enough connection speed to support it!


Is your Wise Owl speaking too slowly (or too quickly)?  You can also use the Settings menu above to change your playback speed.

This page has 1 thread Add post
27 Aug 20 at 17:33

Hi Andrew,

I think I made scroll increase in month increment if clicked on right side using below code

Private mCurrentScrollPos As Long
Private Sub FilmDateScroll_Change()

FilmDate.Text = Format(CDate(FilmDateScroll.Value), "d mmm yyyy")
If (FilmDateScroll.Value < mCurrentScrollPos) Then
        FilmDateScroll.LargeChange = DateDiff("d", _
                                                DateAdd("m", -1, CDate(FilmDateScroll.Value)) _
                                                , CDate(FilmDateScroll.Value))
        FilmDateScroll.LargeChange = DateDiff("d", _
                                        CDate(FilmDateScroll.Value), _
                                        DateAdd("m", 1, CDate(FilmDateScroll.Value)))
End If
mCurrentScrollPos = FilmDateScroll.Value
End Sub


Let me know if there is something else I should consider.