What is MAC address?
I have an Excel VBA project that makes heavy use of Windows Scripting Dictionary objects. I recently had a user attempt to use it on a Mac and received the following error: Compile Error: Can't find. Microsoft just released an update to the VB Editor for the Mac 2016 version of Excel. New features include: - Edit and debugging toolbars. Updated Project.
A media access control address (MAC address) is a unique identification assigned to a device network interface controller (NIC) for communication at the data link layer of a network segment. In simple words, this is a unique identification for a device or computer in a network for communication.
You can get more details from here
Use of MAC in excel:
This address my have different usage technically but in Excel,
- You can use this id to restrict the use of a particular file in a particular system.
- This can also be used to generate the activation key for the excel software to use in a particular system.
You can comment and share with others if you have any other use of MAC .
How to get MAC address in excel VBA?
The MAC address of a windows system can be generated using following visual basic code in excel.
This code will generate MAC and display in a message box.
VBA Code for MAC address:
Download Sample excel file to generate MAC ID:
- Copy and paste the above code in VBA code editor
- save file in .xlsm format
- enable macros to execute the VBA code
Test if it is a Mac or a Windows Machine
More information about testing the Excel version or Excel language you can find on this page : Mac Excel version and Mac Office language settings
You can useconditional compiler constants to test the Operating system or test if you run a 32 or 64 bit version of Office.
The macro below will test the Operating system, you can replace the msgbox line with your code or Macro call.
Office 2011 for the Mac is always 32 bit and Office 2016 for the Mac can be 32 or 64 bit, all builds 15.26 and later are exclusively 64-bit. So every Mac Office 2016 install that is up to date is 64 bit.
Below you can find a test macro and three UDF functions that you can use to test theOperating system, test if you run a 32 or 64 bit version of Office and give you the Excel version number.
With the three functions above it is easy to test what you want in your VBA projects.
Note : Read this page about the version numbers : Mac Excel version and Mac Office language settings
New MAC_OFFICE_VERSION conditional compiler in Office 2016
In Mac Office 2016 they add a newconditional compiler constant namedVba For Excel Macros
MAC_OFFICE_VERSIONVba For Macros Excel Tutorial
. In most cases you can test the Application.Version(>=15) if you want like I show you on this page:Mac Excel version and Mac Office language settings
But if you want to avoid compile errors with for example ribbon macro callbacks in Excel 2011(this not compile for example in 2011: control As IRibbonControl) or use VBA functions that are new in 2016 like AppleScriptTask and GrantAccessToMultipleFiles, you can add the ribbon macro callbacks or the new VBA functions in between the two code lines below in your code module.
#If MAC_OFFICE_VERSION >= 15 Then
Excel Macros And Vba For Beginners
Put your macro callbacks or code here
#End If