Introducing Slate for Excel

Slate, Self-contained, Sleek, Easing UserForm Dialog for Excel 2016 (32bit or 64bit, Version 16)

Slate is my latest, self-contained UserForm Code Module Dialog that can be animated in using an Easing Function over your Worksheet to send brief notification messages to your users - Slate is a light Dialog that can be used on both dark and light backgrounds



If you love Slate, you may also like Mint, Carbon or Pop



  • Microsoft Excel 2016 Version 16 (32bit or 64bit) · designed for Office 365
  • Basic to moderate Excel Skills and some basic VBA skills to use the Slate UserForm Code Module and run the Examples
  • Windows PC · NOT a Mac!
  • No support is provided for customization of this Software


  • Draggable UI Interface - move Slate around with the Mouse
  • Use Slate as a Modal or Modeless Dialog
  • Hover highlighting effect on the Buttons
  • Press {ESC} while using Slate to dismiss the Dialog
  • Close Slate whenever another Worksheet is selected in Modeless mode
  • Animate Slate on your Worksheets - 20+ Easing Functions are available
  • Title and Message are built from HTML parts to use Google Fonts and CSS formatting
  • Change the Title and Message Font Colour / Font Size


Open Slate.xlsm and test the 3 Examples. To use Slate in your own Projects open Slate.xlsm and your own Macro-enabled Project. Then open the VBE (Visual Basic Editor) and drag the Slate UserForm into your Project. Add and configure any of the 3 Examples to run a Slate Dialog


How to use Slate

On the 'Example' Sheet you will find all of the Slate examples. The VBA Code used for all of these examples is in the Example, Worksheet Code Module

The following examples are available:
1. Modeless Slate Dialog with Info Icon
2. Modal Error Slate Dialog with Bug Icon
3. Modal Multiple Dialogs with Cog & Info Icon (this example uses a different easing Out function to launch the Dialog off Screen)

A Slate Example
To bring up a Modeless Slate Dialog using the 'Info' Icon from a click on an Icon, Button or Shape Object, link a Macro ie. Example1() to your Icon (or Object) and then in a Standard Code Module, use the Code below

* .UnloadOnSheetChange = True will force the UserForm to Unload whenever another Worksheet is slected for a Modelsss Dialog
* .PreventDraggableForm = True will prevent a user from dragging the UserForm Dialog
* .DisableEscapeKeyFormClosure = True will prevent a user from using the Escape Key {ESC} to close the Dialog
* .DisableFormEaseOut = True will prevent the Code from using an easeOut, easing function on the Dialog when it is dimissed

Remember to set the .Easing to one of 20+ easing functions
You can set an Icon to be Visible like this: .Bug.Visible = True
Pass in a Title and Message like this: .Title "a Slate dialog with a google font!", .Message "use <span id=themelight>Slate</span> to send tiny <span id=themelight>notification</span> messages to your users"
Public Sub Example1()

   With Slate
      If Not .Visible Then
         .UnloadOnSheetChange = True
         .Title "use Slate for Success notifications!"
         .Message "Your request has been processed and you are <span id=themelight>good to go!</span>"
         .CancelButton.Enabled = False
         .CancelButton.Visible = False
         .Info.Visible = True
         .Easing = easeBackInQuartic
         .Show 0
      End If
   End With

End Sub

The Google Font
To change the default 'Comfortaa' Google Font you need to go into the Code inside the Slate UserForm Code Module and search for 'lazyload'. Go to Google Fonts and once you have found your font, choose 'Select this style' in Google Fonts replace the Sections in both Title and Message for v = v & "<link href="";400"" rel=""stylesheet"" lazyload>" & Chr$(10). You ae looking at replacing the '=Comfortaa' part. Then replace the CSS part 'font-family: Comfortaa, cursive; font-weight: 400; font-size: 12pt;' for your own Font Family, weights and sizes. Remember to do this for both the Title and the Message HTML parts
   ' replace the Font Family Name, weights and sizes
   v = v & "body                 {background: #2C2C2C; font-family: Comfortaa, cursive; font-weight: 400; font-size: " & FontSize & "pt; color: #717480; overflow: hidden;}" & Chr$(10)
   ' replace the Google Font Name, weights and sizes (CSS rules to specify families)
   v = v & "<link href="";400"" rel=""stylesheet"" lazyload>" & Chr$(10)

Changing the SVG Icons
The SVG Icons were downloaded from Google Fonts Icons. I then inserted the Image into Excel and changed the Fill Colour. From here I did a Copy & Paste into the Bug, Cog & Info Images in the UserForm. Of course you could just add any Image directly into the Image Controls on the UserForm

Changing the Width & Height of the Slate Dialog
The Slate Dialog Width and Height are both set when the Dialog is initialised, however you can still change both of these Property's when running a Dialog like this (you may have to change the Button Left and Top Property's if you start to resize stuff!):
   With Slate
      If Not .Visible Then
         .Width = 320
         .Height = 200
      End If
   End With

Changing the easing Function for the Slate Dialog
You can change both the default easing In function and the default easing Out functions like this:
   With Slate
      If Not .Visible Then
         .Easing = easeInCubic
         .EaseOut = easeInElasticBig
      End If
   End With

Screen Shots

A Screenshot of Slate

Slate being used as an Error Dialog

SThe Slate UserForm


* There are currently no FAQ for Slate

Slate Videos

This is a video of Slate in action. In this demonstration, I go through each of the examples on the Example Sheet. Music Get Lost & Found (Original Mix) by Roman Messer, Roxanne Emery Get it Here · view this DatePicker video on YouTube


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

Support (limited) for my Software includes

  • 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
...or Contact Mark Kubiszyn via our Facebook Page - 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 or via Messenger. 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

* No ideas as yet!

Bug Fixes

* There are currently no bugs identified for Slate


Read more information on the status of each release below. The latest Version including a description of any changes is shown first

08.10.2021 - (Version 1)

General release of Slate