Introduction

Introducing Awesome Sliders

Awesome Sliders - Slider Buttons that can be Dragged by the Mouse Horizontally or Vertically to Adjust a Value on a Scale within a Range (can also be used with a Chart Series)

Awesome Sliders are the culmination of all of my work over the last few years producing Sliders for Excel. Those who have purchased and love the existing Slider Projects will know the nuances of pulling together a bespoke Slider design using my previous Code. This piece of work addresses some of those nuances, fundamentally changing the methods of dragging the Slider Buttons and building a Range

So what's changed? Well first off, the Mouse movement and how you drag the Slider Button Shapes is different. Now using the Mouse you can drag a Slider Button left/right or up/down depending on the Type of Slider being used without any resistance or delay in movement; you simply grab the Slider Button with the Mouse and put it exactly where you want it. This allows for a really dynamic look and feel to the Slider and puts the user in full control of the Button. You can rapidly drag it back and forth between the full Range within the allowed Scale. Another change is that I have reduced the amount of Code linked to the Slider Buttons - the Code is the same Subroutine for both the Horizontal and Vertical Sliders

The Minimum and Maximum bounds (left/right and up/down) are now derived using the Placeholder Width/Height and the Slider Button Diameter allowing you to create any Shapes for the Slider Buttons with or without padding. The Code now dynamically adjusts the Slider Bar Width/Height based upon the Placeholder Width/Height and the Slider Button Minimum bounds, not the new Mouse position as was the methodology used in previous Slider Projects meaning greater accuracy and the ability to use the ScaleBetweenRange() function more precisely. The Code also dynamically detects whether the Slider is a Horizontal Slider or a Vertical Slider using the logic if PlaceHolder Width > PlaceHolder Height then Direction is Horizontal else Direction is Vertical

The overall result is a smoother, more controllable Slider Button and Bar, with better precision that is and easier to understand and set up. You can find my Awesome Slider Code now part of the Flat UI Software - check it out!



If you like this Project you may also enjoy


Flat UI Specialist Sliders ·  Sliders ·  Vertical Sliders ·  Slider Toggle Buttons ·  Awesome Buttons ·  Sliders ·  Small Toggle Buttons ·  Menubar ·  Toggle Buttons ·  xlui ·  RadiObutton ·  CheckboX ·  Burger Buttons ·  Popup Burger Buttons

Prerequisites

  • Excel 2013 (Version 5) & Excel 2016 (32bit or 64bit, Version 8)
  • Basic to moderate Excel Skills and some VBA skills to copy Shapes and then link a Subroutine to a Shape or a Graphic object
  • Windows PC · NOT a Mac!
  • No support is provided for customization of this Software

Features

  • Uses a TimerProc() Callback API to control the operation of the Slider in Milliseconds
  • Creates and destroys a Type Interface called 'this' which contains all of the local variables used by the Slider
  • Minimum and Maximum bounds (left/right and up/down) are now derived using the Placeholder Width/Height and the Slider Button Diameter
  • The Slider Bar Width/Height is dynamically adjusted based upon the Placeholder Width/Height and the Slider Button Minimum bounds, not the new Mouse position as was the methodology used in previous Slider Projects
  • The Code dynamically detects whether the Slider is a Horizontal Slider or a Vertical Slider using the logic if PlaceHolder Width > PlaceHolder Height then Direction is Horizontal else Direction is Vertical
  • Works with any Zoom level
  • The Code linked to the Slider Button is the same Subroutine for both Horizontal and Vertical Sliders
  • Use the Sliders with a Chart to control Chart Series Zoom & Buckets
  • Use the Sliders with a Table Column to Collapse and Expand the Table Rows and Sort a Column dynamically - more info will be added in later versions on how to do this but it is pretty simple!








Installation

Open the AwesomeSliders.xlsm File and test out all of the Examples on all of the Sheets. The Code is stored in the 'mdAwesomeSliders' Code Module. Please read all of the info on the individual Sheets and in this online documentation before you begin to edit and create your own Awesome Sliders or before turning to Support

Usage

AwesomeSliders.xlsm


Example1 Sheet
Before you start editing and creating your own Awesome Sliders, take some time to look at all of the Examples in the 'Example1' and 'Example2' Sheets. Click on the Example1 Sheet. There are 7 different Sliders, all horizontal except one that is vertical. All of these Sliders use the same Code located in the 'mdAwesomeSliders' Code Module. The Sliders comprise of 3 Shapes and each Slider Button is linked up to the 'DragSlider' Macro which can operate both horizontal and vertical Sliders. Whenever a Slider is operated the Code will automatically lock the Objects for Drawing, meaning that you cannot right-click them by accident with the Mouse. You should always Unprotect the Worksheet before editing a Slider or any of its parts

Each of these Sliders must have a unique Name ie. Slider1, Slider1Bar, Slider1Placeholder, Slider2, Slider2Bar, Slider2Placeholder etc. They also must have 3 unique Named Ranges scoped to the Worksheet, Slider1, Slider1Value and Slider1Config. The Slider1 Named Range is updated whenever the Slider is operated. The Slider1Value is a Formula used to Round the Slider1 Named Range or do other things like control the 'On/Off' of a Slider switch as in Example 4. The Slider1Config is used to pass a pipe-delimited string of values that are as follows:

a) The Minimum Range of the Slider
b) The Maximum Range of the Slider
c) A Boolean switch to turn on/off the Text value for the Slider if required

Here is the Example1 Sheet. see Fig 1.



Editing the Slider Shapes (Selections and Formatting Panes)
In order to select any of the Shapes or Graphic Objects you must first Unprotect the Sheets as Code protection is added every time that they are used to protect the interface (protects the Shapes from user interference, either on purpose or accidently) - do this from the Review Tab on the Ribbon. Click the Example1 Sheet. Right-click one of the Slider Buttons or left-click the Bar. Now, use the Selection Pane on the Editing Group of the Home Tab of the Ribbon to make Selections easier. To format a Shape you can hover near the Selection and use right-click Format and then change the formatting using the formatting Pane. I like to toggle on a Shape between the Format Pane and the Selection Pane:



The Slider Scale
The Slider Scale Shape Object used in Example 6 is created to look like a Scale with lots of individual Shape Objects making up each individual Step. It can be a little tricky to create and get these set up correctly but I think the effort is worth it



Copying one of the Sliders into another Workbook
This is simple. Unprotect the Sheet. Using the Selection Pane, select all 3 Objects for one Slider (use CTRL+Left Mouse click). On the Clipboard Group of the Home Tab on the Ribbon, select Copy and then switch to your Workbook and Paste

Now create the 3 Named Ranges using the Defined Names Group of the Formulas Tab on the Ribbon. Select Name Manager. Then press New and enter a Name ie. Slider1. Then choose the Scope to the Worksheet that you are on. Click on the Cell that will be used for the Named Range and then click OK. Repeat this for the other two Named Ranges ie. Slider1Value and Slider1Config. Now populate all three Named Ranges as I have done on my Example Sheet using my example values. Open the VBA Code Editor and in your Workbook you can drag the Code Module directly into your Project or you can include a new or existing Code Module and then Copy and Paste in my Code from the AwesomeSliders.xlsm Workbook. Now just right-click on the Slider Button and assign the Macro 'DragSlider'. That's it, go ahead and do some Sliding...

Resizing the Sliders
This is also very easy. Using the Selection Pane, just select the Bar and / or the Placeholder and adjust the Widths. Move the Slider Button by right-click and use the Cursor Arrows to move it into position say at the right-hand end of the Bars. Now Drag it and see the magic happen - the Slider Button myseriously lines up with your Minimum and Maximum Ranges. All that may be required is a tweak to the Buttons horizontal or vertical positioning, sweet!



Example2 Sheet
The Example2 Sheet demonstrates using the Sliders with a Chart to control Chart Series Zoom & Buckets displayed. The two Sliders are linked up to their respective Named Ranges which are then used by the Chart Series 'Actuals Corr.' as '=Example2!ChartScrollActualsCorrRange', 'Actuals' as '=Example2!ChartScrollActualsRange' and 'Forecast' as '=Example2!ChartScrollForecastRange' which in turn reflect the Chart data using OFFSET in the actual Named Range Formula ie. for 'Actuals Corr.' we use the Formula '=OFFSET(Example2!$C$10,0,Example2!$J$5,1,Example2!$J$4)' to pick up a dynamic Range for the Series. When the first Slider Button is moved the Chart will 'Scroll through the Date Series' (through all of the years that you can view) and when the second Slider Button is moved the Chart will 'Zoom the number of Buckets to view' (how many Months to show on the Chart at any one time ie. 1 year, 2 years etc.). For example, if the 'Chart Zoom Index' is set to 13 then 12 full Months will be in view and if the 'Chart Scroll Index' is set to 12 then it will show the year 2017, the second year



Awesome Sliders

Awesome Horizontal and Vertical Sliders use the same Code for both types of Slider

Awesome Sliders used to control the Chart Series Zoom & Buckets displayed

FAQ

There are currently no FAQ for Awesome Sliders


Awesome Sliders

This is a video of the Awesome Sliders in action. In this demonstration, I go through some of the examples in the download File. Music is 'Dulce Reggaeton by An Jone' · view the Awesome Sliders video on YouTube

Support

Support is 100% optional and I provide it for your convenience, so please be patient, polite and respectful

Support for my Software

  • Responding to questions or problems regarding the Software and its features
  • Fixing valid (replicated) bugs and reported issues for the VERSION I HAVE WRITTEN

Software support does not include

  • Customization and installation services
  • Support for third party software or ANY kind of development whatsoever

Before seeking support

  • Make sure your question is a valid Software Issue and not a customization request
  • Make sure you have read through the FAQ's, online documentation and any related video guides before asking support on how to accomplish a task
  • Ensure that you access to the VBOM is allowed and that Macros can run in Excel
  • Make sure to provide 'proof of purchase' and state the name / version of the Software that you are having issues with when requesting support by Email or via Facebook

How to get Support

Contact Mark Kubiszyn on the Email address provided when you purchased the Software, including the Order Number
Remember to be patient, if there has been an issue with your download, Mark will always respond within 48 hours and will Email you the File directly if neccessary. For other issues the response time may be considerably longer and I may choose to respond to specific questions only (as is my right), depending on what has been asked

Future Builds

* Use the Sliders with a Table Column (and possibly a Pivot Table Field) to Collapse and Expand the Table Rows and Sort a Column dynamically - watch this space!

Bug Fixes

* There are currently no bugs identified for the Awesome Sliders Software

Changelog

You can find the version history in the Code Module for any Macro-enabled Software or read more information on the status of each release
- the latest Version including a description of any changes made is always shown first

16.09.2022 - (Version 1)

General release of Awesome Sliders