What is VBE_Extras?
​
VBE_Extras is an AddIn for the Visual Basic Editor (VBE) within Excel, Word, Outlook †, PowerPoint and Access. It makes writing VBA code quicker, simpler and less bug-prone by adding new functionality to the VBE.​
Some of the commands provided by VBE_Extras are "free" (you can continue to use them beyond the end of the trial period without purchasing a licence - these are marked with a ✓ symbol in the below text) but the majority are to-be-paid-for (they will not be accessible, beyond the end of the trial period, unless you buy a licence).
​
Already a user of MZ-Tools and wondering why you'd also use VBE_Extras? If so, see my Comparing VBE_Extras with MZ-Tools post.
Some key VBE_Extras commands ... VBE_Extras will:
​
-
Get a list of, and jump to any one of, the places you use a particular declaration (variable, Sub, Function, Module etc.) - see the video ✓
-
Highlight on screen all the places you use a particular declaration - see the video and read the post ✓
-
Rename that declaration - see the video and read the post
-
Maintain a history of all the places you have looked at / edited code and allow you to go back (and forward again) among them - see the video and read the post
-
Let you assign a 'Sub to run' that you can run while editing code anywhere else in the same VBA Project - see the video and read the post
-
Clear the Immediate window … using a menu item, a keyboard shortcut or automatically when running code - read the post ✓
-
Help you to edit VBA 'attributes' without the need to manually export, edit and re-import a Module - read the post
-
Allow you to edit code 'full screen' (at the click of a button) - see the video and read the post ✓
-
In Excel, jump between Shapes, Tables and Names and the places in your code that they are referenced from - read the post
-
Make a Module 'Option Explicit' by adding explicit declarations for all undeclared variables - read the post
-
Customise the colours and fonts used in the VBE with 'Themes' - see the video and read the post ✓
-
Indent your code - read the post
... keep reading below for the full list of VBE_Extras commands.
​
How will VBE_Extras help me write VBA code?
​
Declarations and references
​
VBE_Extras will help you to work with all types of declarations available in VBA, including: the VBA Project itself; Modules (document, standard, Class and UserForm); Enums and Enum members; Types and Type elements; Procedures and Properties; Events; UserForm Controls; Variables and Constants (Module-level and Procedure/Property-level); and Line labels.
​
-
Jump to (or display) a declaration from any reference of that declaration - see the video ✓
-
Jump to any (or display all) references for a declaration ✓
-
Jump to the next / previous reference for a declaration
-
Highlight a declaration and its references (highlights the currently on-screen declaration and references) - see the video and read the post ✓
-
List all declarations in a particular Procedure/Property, Module or Project ✓
-
Call hierarchy ... for a specific Procedure/Property, list all Procedures/Properties that call to or are called from that Procedure/Property
-
Show all members ... an improved version of the VBE's Intellisense popup - read the post
​
Refactoring
​
-
Rename a declaration and all of its references … this isn't just a re-packaged find/replace … VBE_Extras is able to identify all references for a specific declaration, including differentiating between multiple declarations with the same name in the same scope - see the video and read the post
-
Move selected line(s) up / down
-
Qualify a reference - references in other Modules / Projects have the Module and/or Project name added as a prefix
-
Automatically add Property Let/Set/Gets for Module-level Variables or Type elements - see the video and read the post
-
Automatically add a Class module 'factory' for one or multiple Module-level Variables or Type elements (including setting the VB_PredeclaredId Attribute to True) - read the post
-
Extract a literal-value (a String, numeric, Date or Boolean) to a Const - read the post
-
Implement an Interface / Extract an Interface - read the post
-
Make 'Option Explicit' ... add an 'Option Explicit' statement to a Module and then add explicit 'Dim' declarations for all undeclared variables - read the post
​
Tasks (TODOs)
​
-
Show all tasks matching user-defined text criteria eg TODO, TASK, TEST etc ✓
​
Cursor management / Sub to run
​
-
VBE_Extras keeps track of your cursor positions so that you can jump back to your previous cursor locations ... and if you jump back, it keeps track of your 'forward' positions so that you can jump forward again - see the video and read the post
-
Select a 'Sub to run' that you then don't have to manually locate before pressing F5 to run (particularly useful when editing code in one place in a Project but you need to repeatedly run code from another place in your Project) … with 'Sub to run' you can also choose to automatically clear, or jump to the end of, the Immediate window before the code is run - see the video and read the post
-
And automatically 'Run Again' any Sub that you have previously run with F5 or with the 'Run' menu item - read the post
​
Themes
​
-
Create and apply colour, font and 'margin indicator bar' Themes to the main code window and Immediate window within the VBE. Want a dark Theme, a blue theme ... these are built-in and can be applied in a couple of clicks, or define your own - see the video and read the post ✓
​
Shapes, Tables and Names (Excel only)
These commands allow navigation back-and-forth between the Excel user-interface and associated code in the VBE.
​
-
Jump from a Shape in the Excel UI to the procedure in your VBA code that is 'assigned as a macro' for that Shape *
-
Jump back from the procedure in your VBA code to the Shape in the Excel UI
-
From a Shape, Table or Named Range in the Excel UI, list all string literals in your VBA code that match the name of that Shape, Table or Named Range *
-
Jump back to the Shape, Table or Named Range in the Excel UI from the string-literal name of the Shape, Table or Named Range or from a Const with a value of the name of the Shape, Table or Named Range
​​​
To learn more, read the post.
​
* requires the 'VBE_Extras Helper' Excel AddIn
​
Mouse navigation / information
​
-
Use the mouse to click a declaration or reference to view information about it or to jump to the declaration or reference; or click a literal value (String, numeric, Date or Boolean) to jump to any matching value - read the post
​
Project admin
​​
-
Compare Module - shows a 'diff report' comparing a Module in the VBE to another Module (either a Module in the VBE or a Module that has previously been exported to a file) - read the post ✓
-
Compare Project - shows a 'diff report' comparing a Project (that is, a comparison of each individual Module plus Project References and, for appropriate host apps, the RibbonX code) in the VBE to another Project (either a Project in the VBE or a Project that has previously been exported to the file system e.g. using VBE_Extras Version Control command)
-
Version Control for Modules - export / import one Module in a Project - read the post
-
Version Control for Projects - export / import all Modules and all Project References in a Project, plus exports and compares (when importing) RibbonX (for relevant host apps and file types) - read the post
-
Export / view RibbonX (for relevant host apps and file types)
-
Backup Project - create a copy of the Project file (Workbook, Document etc) ✓
-
Replace all Modules (and so all VBA code and UserForm designs) with that from another VBA Project (Excel and Word only)
-
Clean Project - cleans the 'junk code' that can build up over time when developing VBA enabled files (if your Project crashes when you open it or run its code, or if you get compile-time or run-time errors for code that is clearly valid then this command should assist)
-
Update Project References (i.e. references from the active VBA Project to other VBA Projects and Type Libraries) including search by name and 'recently added' - read the post
-
Type Library explorer ... explore the members (Classes, Enums, Modules, Functions, Variables etc) of a Type Library before (or after) you add a Project Reference to it - read the post
​
Special binding
​
-
If you develop your VBA code using 'early binding' but switch to 'late binding' when deploying, then 'special binding' may be useful to you - read the post
​
Other commands
​
-
View and update VBA Attributes - Module-header Attributes, Procedure/Property Attributes and Variable/Constant Attributes ... VBE_Extras removes the need for you to manually export and re-import the Module - read the post
-
Automatically clear, or jump to the end of, the Immediate window whenever you run code with F5 or with the VBE's built-in 'Run' menu - read the post ✓
-
Module picker … jump to the last-viewed Module, or any other Module, with a simple keyboard shortcut ✓
-
Project picker ... as with the Module picker, for Projects ✓
-
List all literal values (Strings, numerics, Dates or Booleans) matching a specific value
-
Edit code 'full screen' (with the click of a button) and go back to the 'normal' view with all windows restored to the right place - see the video and read the post ✓
-
Automatically show all 'hidden members'
-
Comment / Uncomment lines of code
-
Code indenter ... make your code clearer and simpler to read by applying code indentation rules - read the post
-
Line numbers ... add/update or remove for a Procedure, Module or an entire Project - read the post
-
AutoText ... shortcuts to insert statements and code blocks, for example: Debug.Print, For - Next, For Each - Next, If Then - ElseIf - ElseIf - End If, Do While / Until - Loop, With - End With, Select Case - End Select
-
Add Enum from Type Library (that is, replicate an Enum in a Type Library in your VBA code so that you can use it when using 'late binding') - read the post
-
Add a GetEnumAsString() Function (get the Enum members as Strings, not as numerics) - read the post
-
And much more … for details, see the user guide on the VBE_Extras help page
​
Help for VBE_Extras
​
For help on this and other functionality plus installation / uninstallation instructions, limitations, exclusions, inclusions and other details, go to the VBE_Extras help page.
​
Get VBE_Extras
​
Check the System Requirements then get VBE_Extras from the VBE_Extras download page (there are two ways to install VBE_Extras: automated using an executable installation file or 'manual' which does not use an executable file and does not require you to have administrator access on your device).
​
One installation of VBE_Extras adds the functionality for the VBE in Excel, Word, Outlook †, PowerPoint and Access. VBE_Extras comes with a free trial period following which you can purchase a licence.
​​
System requirements
​
VBE_Extras is a COM AddIn and works within 32- and 64-bit versions of Excel, Word, Outlook †, PowerPoint and Access. It works only on Windows 7 or newer and requires .NET Framework 4.8 (which is installed by default on devices running Windows 10 or 11 and, if not already, can be manually installed on devices running Windows 7 and 8). For instructions on how to check for the presence of the .NET Framework and how to install it, if necessary, see the 'If you need to install or check for .NET Framework 4.8' section of the user guide on the VBE_Extras help page.
​​
† VBE_Extras does not work with 'new Outlook' (only with what Microsoft are now calling 'classic Outlook') as 'new Outlook' does not support COM AddIns (which VBE_Extras is) nor does it support use of VBA code. See https://support.microsoft.com/en-gb/office/getting-started-with-the-new-outlook-for-windows-656bb8d9-5a60-49b2-a98b-ba7822bc7627 for further details.
​
Questions?
​
Please see the user guide on the VBE_Extras help page first.
​
If you believe you have found a bug in VBE_Extras, please create a bug report via the VBE_Extras main menu: Extras > Help > Contact us / report a bug.
​
If you still have questions, contact me: john@thevbahelp.com. Click here to view the VBE_Extras privacy policy.
​