A few times I've been asked questions along the lines of "Isn't VBE_Extras is just the same as MZ-Tools ... so why would I also use VBE_Extras?". Hopefully, this post will provide the answer.
First, though, to acknowledge up front:
I put this post together myself without input from the developer of MZ-Tools ... they might have a different view on the opinions that I give in this post.
Nothing in this post should be read to criticise MZ-Tools ... in fact, if you are developing VBA code without MZ-Tools then you should go and download MZ-Tools now (well, immediately after downloading VBE_Extras, of course).
However, the gist of this post is that the two tools are not competing with each other, rather they (mostly ...) offer complementary functionality (this pre-supposes that you are using one of the host applications supported by VBE_Extras ... that is: Excel, Word, Access, Outlook and PowerPoint).
I have no association with MZ-Tools or its developer and I get no financial benefit from recommending it (which I do!).
To actually download the relevant tools, see VBE_Extras and MZ-Tools (external link).
So ... the answer
VBE_Extras provides 71 commands. Based on a count of the menu items that MZ-Tools add to the VBE (so this is rather crude and may well be an under-estimate), it provides around 50 commands.
Based on my understanding of the MZ-Tools functionality, there are 7 VBE_Extras commands that provide matching or very similar functionality and a further 5 or 6 commands (as "AutoText" is included twice) that share some related functionality - as follows:
Command in MZ-Tools | Command in VBE_Extras | Comparison |
Code Explorer | Declarations in this Module | • VBE_Extras also has 'Declarations in this Procedure / Property' and 'Declarations in this Project' • The list shown by VBE_Extras contains more detail |
Method Callers | Reference for code at cursor | • VBE_Extras has details of 'callers' (or 'references') for all types (i.e. not just methods but also: variables; constants; Modules; Classes; Enums and Enum members; Types and Type elements; Controls; line labels; the VBA Project itself … and more) • The list shown by VBE_Extras contains more detail |
New Method / Property Assistant | Add Properties | MZ-Tools supports adding Subs and Functions whereas VBE_Extras supports only adding Properties |
Select Case Assistant for Enums | AutoText ("Select Case") | Matching … however, AutoText does much more than just Enums |
Task List | Tasks in this Project | Matching / very similar functionality |
Add Line Numbers | Add / update line numbers | Matching / very similar functionality |
Remove Line Numbers | Remove line numbers | Matching / very similar functionality |
Split lines | Split line(s) | Matching / very similar functionality |
Indent lines | Indent lines | Matching / very similar functionality |
Statistics | Project Stats | Matching / very similar functionality |
Clear Immediate Window | Immediate window: clear / go to start / go to end | • VBE_Extras also provides commands to go to the start or end of the Immediate Window • VBE_Extras also provides commands to automatically clear the Immediate window when running code via the VBE menu items or F5 or F8 |
Favorite Code Elements | AutoText | Similar functionality but MZ-Tools provides more scope and flexibility |
Clean Project | Clean this Project | Matching / very similar functionality |
… which leaves 58 commands that VBE_Extras provides that are entirely different (and, for Excel users, there are additional commands provided by VBE_Extras Helper ... see my Navigating between VBA code and Shapes, Tables and Names post for more details).
So what this shows is that the functionality of the two tools complements each other - and VBA developers are missing out if they don't have both tools!
The 71 commands provided by VBE_Extras †
Info for code at cursor
References for code at cursor
Highlight
Show All Members
Special binding
Show declaration for code at cursor
List declarations in this Procedure / Property
List declarations in this Module
List declarations in this Project
List declarations referenced from other Modules in this Project
Rename code at cursor
Undo rename
Qualify reference
Add Properties
Add Factory
Extract to constant
Implement Interface
Extract Interface
Make 'Option Explicit'
Tasks in this Project
Go to declaration for code at cursor
Go to a declaration in this Module
Go to line in this Module
Go to Module
Go to implementation
Go to base
Go to previous code reference in this Project / Go to next code reference in this Project
Go to declaration above / Go to declaration below
Go to Bookmark in this Project
Go to Shape with this name or that calls this Procedure
Go to Table with this name
Go to Name with this name
Set Sub to run / Run Sub to run / Clear Sub to run
Run Again
Immediate window: clear / go to start / go to end
Add / update line numbers
Remove line numbers
Indent lines
Split line(s)
Comment / Uncomment line(s)
Move line(s) up / down
Attributes
Matches for literal value at cursor
Orphan declarations
Declarations that could be made Private
Detached event handlers in this Project
Keyboard shortcuts in this Project
Call hierarchy
Add Enum from Type Library
Add a "GetEnumAsString()" Function
Show / hide hidden members
Project stats
Previous Lists for this Project
FullScreen
Themes
Update CCAs for this Project automatically / Update CCAs for this Project manually / Clear CCAs for this Project
Backup this Project
View as text file
Compare Project
Compare Module
Version Control
Replace All Modules in this Project
Clean this Project
View RibbonX
Update Project References
Type Library explorer
History - Back / Forward
Show History
Project Picker
Module Picker
AutoText
... to learn more about any command, see the main VBE_Extras page and/or the VBE_Extras user guide.
† not all commands are available to all users … for example:
Make 'Option Explicit' – only available when the Office Display Language is set to be English
Go to Shape with this name or that calls this Procedure – only available in Excel
Go to Table with this name – only available in Excel
Go to Name with this name – only available in Excel
Set Sub to run / Run Sub to run / Clear Sub to run - not available in Outlook
Run Again - not available in Outlook
Keyboard shortcuts in this Project – only available in Excel
Replace All Modules in this Project – only available in Excel and Word
View RibbonX - not available in Access and Outlook
Comments