Version 1
If you have already purchased this Software, let me take a moment to thank you for being a loyal customer
You are entitled to free lifetime updates for ALL future builds
This documentation is to help you understand the Software and to give you a more meaningful insight into what it can do. Please go through the documentation and read it carefully · Basic VBA skills will be required
You will need the following Excel Version & Prerequisite to use this Software
No support is provided for customization or development of this Software
Burger Buttons are small animated Buttons made up of 2 Shapes that are Grouped together. One of the Shapes is the Icon or Image and the other is the circle Shape which will be animated. When a Burger Button is clicked the animated circle will be displayed and a Commandbar Popup Menu will 'popup' next to the animation. All this is linked to a beautifully simple Frame Timer for the animations. You can chose from 3 different animations, adjust the animation speed and the Colour of the animated circle. You can edit 3 different types of Popup Menu, classic list, sectioned Menu and a Menu using a Sub-menu. If you want a ToolTip to be displayed when hovering over the Button, there is an example of how to do this in the download
Open the BurgerButtonPopupMenu.xlsm File. A License Worksheet is included in the Workbook. Select the "Burger Button Popup Menu" Worksheet. Here you will find all of the examples. Test the examples to see all of the Button animations and the use of the different Popup Menus. Press ALT+F11 to enter the VBA Editor. Scroll down and view the Code used for the Burger Buttons. Before continuing, it is advised to take a Backup as you will no doubt want to Copy buttons and Code from this Workbook
Here is the Code to run a Burger Button Popup Menu that has a classic list of Menu Items. It uses the Animate() Subroutine which takes 4 Parameters, ShapeItem, Animation, Speed and Colour. It also uses the Popup() Subroutine to determine the type of Commandbar Popup Menu to display - add your own Code to the part '' your Code...':
' BurgerButtonExample1 Public Sub BurgerButtonExample1() ' prevent multiple clicks If IsRunning Then Exit Sub ' Animate takes 4 parameters ' - the name of the Shape object to animate (required) ' - the animation type, Pulse, FadeIn or Heartbeat ' - the speed & the Shape colour (all optional) Animate ActiveSheet.Shapes("burger_animation"), Pulse ' display the Popup List Style Menu Popup List ' your Code... ' reset IsRunning = False End Sub
You can also use the Paramer Names for the Animate() Subroutine like this:
Animate ShapeItem:=ActiveSheet.Shapes("ellipse_purple_animation"), _ Animation:=Pulse, _ Speed:=0.05, _ Colour:=RGB(229, 223, 255)
Linking a Macro or VBA Subroutine to a Burger Button is easy. You will need to Unprotect the Worksheet first as the Workbook uses Protection to preven any right-clicks on the Buttons, while still allowing users to edit the Cells and run Code - do this on the Changes Group of the REVIEW Tab on the Ribbon. Now, hover near the Button (the Grouped Shape) and then right-click->Assign Macro... Pick your Macro to link to the Burger Button
The following animations are available, Pulse, FadeIn and Heartbeat. Pulse renders the circle as dark as the Shape Colour and then does a lovely Fade out. FadeIn fades the circle from light to dark - this will form the basis of my next Project, Burger Buttons with Popup Menu's. Hearbeat is like the rythmic beating of your heart, well for a second or two anyhow! All of the animations use my Frame Timer routine to ensure a smooth transition
Here is the Code for each animation - the AnimationType is an Enum of the 3 Values, Pulse, FadeIn & Heartbeat which can be accessed via the Intellisense when editing the Code:
Animate ActiveSheet.Shapes("burger_animation"), Pulse Animate ActiveSheet.Shapes("burger_animation"), FadeIn Animate ActiveSheet.Shapes("burger_animation"), Heartbeat
The following Popup Menu types are available, List, Section and SubMenu. List is a classic list of Commandbar Controls or Menu Items, Section is the same list but with small divider lines so that parts of your Menu can be 'sectioned off' and lastly SubMenu which allows you to build up one or more levels of Menu Items. All of the 3 Menu types can be edited in the Code and adjusted to suit your requirements
Here is the Code for each Popup Menu type - the PopUpMenuType is an Enum of the 3 Values, List, Section & SubMenu which can be accessed via the Intellisense when editing the Code:
Popup List Popup Section Popup SubMenu
You can adjust the speed and Colour of the animation via the Animate() Subroutine
Here is the Code to speed up the animation - the default value for the speed Parameter is '0.05'. Test values like '0.08' and '0.1':
Animate ActiveSheet.Shapes("google_animation"), Pulse, 0.08
The Colour is the Colour of the animation Shape and the Parameter will take a Long value like '16777215', a VBA Colour Code like 'vbGreen' or an RGB Colour Code like 'RGB(229, 223, 255)'
Here is the Code to adjust the Colour
Animate ActiveSheet.Shapes("ellipse_purple_animation"), Pulse, , RGB(229, 223, 255)
You can adjust any of the 3 different Popup Menus by going into the Code and editing them 'in situ'
Here is a part of the Code that you can edit:
Private Sub PopupList() ' vars Const POPUP_MENU As String = "PopUpMenu" Dim objMenu As CommandBar On Error Resume Next ' delete old bar if it exists Application.CommandBars(POPUP_MENU).Delete Set objMenu = CommandBars.Add(Position:=msoBarPopup, Temporary:=True) With objMenu.Controls.Add(Type:=msoControlButton) .Caption = "Save Data" .FaceId = 3 .OnAction = "'" & ThisWorkbook.Name & "'!" & "ExamplePopupListCallback_SaveData" End With With objMenu.Controls.Add(Type:=msoControlButton) .Caption = "Reset All" .FaceId = 37 .OnAction = "'" & ThisWorkbook.Name & "'!" & "ExamplePopupListCallback_ResetAll" End With rest of the Code is omitted...
You don't have to use a Faceid number for the '.Faceid' part - you can use the Text or Name of the Control like this example piece of Code that adds the 'Copy' Faceid to the Control:
.FaceId = CommandBars("Standard").Controls("Copy").ID
The OnAction part of the Code is used to provide the name of the Callback Subroutine to receive focus following a Mouse click. You can use single Subrooutines or pass in a Parameter for multiple Callbacks into a single Subroutine like this:
With objMenu.Controls.Add(Type:=msoControlButton) .Caption = "Display Help" .FaceId = 49 .OnAction = "'" & ThisWorkbook.Name & "'!" & "'ExamplePopupListCallback_Passing_Parameters ""Display Help"" '" End With With objMenu.Controls.Add(Type:=msoControlButton) .Caption = "Refresh Worksheet" .FaceId = 459 .OnAction = "'" & ThisWorkbook.Name & "'!" & "'ExamplePopupListCallback_Passing_Parameters ""Refresh Worksheet"" '" End With
All Burger Buttons consist of 2 Shapes that have been Grouped together to make 1 Button. To view the Shapes you should use the Selection Pane on the Arrange Group of the PAGE LAYOUT Tab on the Ribbon. Select a Button by right-click. Now go and open the Selection Pane - you will see all of the Burger Buttons and their respective grouped Shapes. You will also note, that they all have unique names:
The Grouped Shape is the Button made up of 2 Shapes. It is also where you should link your Macro ie. right-click->Assign Macro... To select the Grouped Shape simply use right-click
The Button Shape is a single Shape that has been Grouped with the Animation Shape. It is where you should add your Icon, Picture or Image that you want to use for the Button Face. To select the Button Shape simply use the Selection Pane on the Arrange Group of the PAGE LAYOUT Tab on the Ribbon. Select a Button by right-click. Now go and open the Selection Pane. Now click on the Shape underneath the Burger Button name that ends in '_button' - that's your Button. Right-click on your Button now that it is selected and choose Format Picture to bring up the Format Picture Pane. Click on the Paint Pot and then expand Fill. Change your Image by selecting File...
The Circle or Animation Shape is a single Shape that has been Grouped with the Button Shape. It is also where you can style the circle if you wish. To select the Animation Shape simply use the Selection Pane on the Arrange Group of the PAGE LAYOUT Tab on the Ribbon. Select a Button by right-click. Now go and open the Selection Pane. Now click on the Shape underneath the Burger Button name that ends in '_animation' - that's your Animation Shape
Before you add the Button, you need to add some Code into your Project or newly Saved Workbook. Copy all of the Code in the 'mdBurgerButtons' Code Module into your own Code Module. You can also drag the Code Module into your own Project using the Project Explorer Window if you prefer. You will be able to delete any Code that is not required later
' Software Name: ' Burger Button Popup Menu - Burger Buttons with Animations that Trigger a CommandBarPopup Menu to run a Macro for Excel by Mark Kubiszyn ' ' © Copyright/Author: ' Mark Kubiszyn 2012-2018. All Rights Reserved ' Website/Follow: ' https://www.kubiszyn.co.uk/ ' https://www.facebook.com/Kubiszyn.co.uk/ ' ' License: ' This Software is released under an MIT License (MIT) ' https://www.kubiszyn.co.uk/license.html ' ' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files ' (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, ' publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, ' subject to the following conditions: ' ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ' MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ' ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ' SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE ' ' Changelog: ' 20.10.2018 (Version 1) released ' force explicit variable declaration Option Explicit ' global animation type Public Enum AnimationType [_First] Pulse = 1 FadeIn = 2 Heartbeat = 3 [_Last] End Enum ' global popups type Public Enum PopUpMenuType [_First] List = 1 Section = 2 SubMenu = 3 [_Last] End Enum ' used to prevent repeated animation & Macro's from being triggered by multiple clicking Private IsRunning As Boolean ...rest of the Code is omitted...
Now to add a Burger Button to your own Project or Workbook, select a Button in the BurgerButtonPopupMenu.xlsm File by right-click and Copy the Button to the Clipboard. Paste the Button into your own Project or a new Workbook that has been Saved. Right-click the Button that you just Pasted in and choose Assign Macro... Pick the Macro that corresponds to the Example Button (you can amend later). Edit the respective Popup Menu if you wish and then press the Button to see the Burger Button in action
Before you add the Hyperlink ToolTip Button, you need to add some Code into your Project or newly Saved Workbook. Copy all of the Code in the 'mdBurgerButtons' Code Module into your own Code Module. You can also drag the Code Module into your own Project using the Project Explorer Window if you prefer. You will be able to delete any Code that is not required later
' Software Name: ' Burger Button Popup Menu - Burger Buttons with Animations that Trigger a CommandBarPopup Menu to run a Macro for Excel by Mark Kubiszyn ' ' © Copyright/Author: ' Mark Kubiszyn 2012-2018. All Rights Reserved ' Website/Follow: ' https://www.kubiszyn.co.uk/ ' https://www.facebook.com/Kubiszyn.co.uk/ ' ' License: ' This Software is released under an MIT License (MIT) ' https://www.kubiszyn.co.uk/license.html ' ' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files ' (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, ' publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, ' subject to the following conditions: ' ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ' MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ' ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ' SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE ' ' Changelog: ' 20.10.2018 (Version 1) released ' force explicit variable declaration Option Explicit ' global animation type Public Enum AnimationType [_First] Pulse = 1 FadeIn = 2 Heartbeat = 3 [_Last] End Enum ' global popups type Public Enum PopUpMenuType [_First] List = 1 Section = 2 SubMenu = 3 [_Last] End Enum ' used to prevent repeated animation & Macro's from being triggered by multiple clicking Private IsRunning As Boolean ...rest of the Code is omitted...
Now to add a Burger Button to your own Project or Workbook, select the 'Burger5' Hyperlink Button in the BurgerButtonPopupMenu.xlsm File by right-click and Copy the Button to the Clipboard. Paste the Button into your own Project or a new Workbook that has been Saved. Then you need to add the extra Code to support the Commandbar_OnUpdate() Subroutine that captures a Mouse Click on a Shape and allows you to then run Code whilst letting you use a Hyperlink as a ToolTip
Go into the "ThisWorkbook" Code Module and Copy this Code and Paste it into the "ThisWorkbook" Code Module for the Workbook where you Copied the Hyperlink Button earlier. That's it, close and reopen the File. Test the Button
There is no possibility of changing the Burger Icon Colour in this Version. I may consider this in any future builds. Extra Code is required in the "ThisWorkbook" Code Module in order to use a ToolTip using the Commandbar_OnUpdate() Subroutine
This is a Screen Shot of the Burger Button Popup Menu Workbook with examples available for Purchase
This is a Screen Shot of the individual Burger Buttons with one Popup Menu being displayed
Here, I run through the examples for the Burger Button Popup Menus including the Hyperlink ToolTip popup Menu. 3 animation and Popup Menu types are shown in this video
Can I use a ToolTip with a Button?
Yes the Code has been added to do this in the "ThisWorkbook" Code Module. The routine uses the Commandbar_OnUpdate() Subroutine
Please remember you have purchased very affordable Software and you have not paid for a full-time Software design agency - I am but one man. Occasionally I may help with small tweaks, but these requests will be put on a much lower priority due to their nature. You have not PAID for Support, Support is 100% optional and I provide it for your convenience, so please be patient, polite and respectful
You can find the version history in the Code Module for any Macro-enabled Software or read more information below. The latest Version is always shown first
20.10.2018 (Version 1) released