Please scroll down for portfolio items

VBA Automation

What is VBA?

VBA stands for Visual Basic for Applications. It is a programming language that is embedded in Microsoft Office applications, such as Excel, Word, and PowerPoint. VBA allows users to automate tasks, create custom functions, and add features to Office applications. To see the VBA Project, open Excel and press ALT key + F11. It will take you inside VBA poject.

How does VBA automate a process?

VBA automates a process in Microsoft Office Apps by using the objects, methods, and properties of the application. For example, the Excel object model exposes objects such as the Worksheet, Range, and Cell objects. These objects have methods that can be used to perform tasks, such as selecting cells, inserting text, and formatting data. Functions and Event Procedures are created by the programmers which are actually, a series of commands that perform the same tasks as we do manually by hand.

10 Tips for VBA developers to Speedup Macros

I assure you that I always follow the best practices while coding macros with VBA. I would like to mention a few of the best practices below. This artcle is addressed to the VBA developers in general.

The speed issue is a common complaint from users of Excel Macros. I would love to share my personal experiences regarding speed issues of Excel macros which I experienced during my programming career since 2005. Besides these 10 techniques, there are some other minor factors you have to follow.

1. Disable screen updating, Events and auto calculation at the start of the Macro. Because these auto Functions delay macro tasks at runtime.

2. Avoid using Events under Sheets like Worksheet_Change, Worksheet_SelectionChange. If you are bound to use to automate some tasks, then use:
Application.EnableEvents = False
Yes, each time the user updates a cell, these two Events will work and thus Excel will perform slower.

3. Avoid putting formula through VBA. Try to calculate through VBA to get results rather than putting formula in cells. This adds to the overhead load to the macro.
Example: You may need to put Formula in Z100 as =SUM(Z2:Z99). Instead, use Application.WorksheetFunction.Sum(Range). This way, you can get the desired Sum without using Formula.

4. Avoid long Sub with thousands of lines in VBA, rather split by sections and call from the Main Sub.

5. Write Functions in VBA as many as possible for performing the same tasks/calculations and call the Function from the main Sub.

6. Use “With” statement, for Objects, to minimize the number of words which help macros
When you write 10-15 lines of code for a sheet like below:

7. Avoid using too many IF . . . . Then Statement. For IF…. Then Statement Macro needs to check each block of IF . . . Then to discover if the logic is True. This takes time to check each Statement. So use SELECT Case. VBA goes directly to the related block where Case IS = True rather than checking each IF…. Then Statement. This way your Macro will definitely run faster.

8. Try to use Arrays where possible.

9. Avoid using too many Sheet(Name).Activate or Select. This command forces Macro to switch to this and that sheet and thus takes a longer time. In most of the cases, you can avoid Activate or Select command.

10. Not responding: This is very harmful to the programmer’s reputation and also, embarrassing for the user. Main causes are: Do . . . . Loop or For . . . . Next code or if Macro handles large data sets with 100K rows or more. You can copy half of the data to a new sheet and run the process twice and then consolidate it back. In Loop Function, you can command half of the processing tasks and do the same twice. Also, select the fewest most columns instead of selecting the entire used area.

— Momtaz U, Owner of CoderJc Solutions

Excel VBA Project that Auto Fill Word Document with Merge Fields – 2019 to Date

I developed about 60 VBA Macros that autofill financial reports in Word document with Excel data for Templetons Financial, Brisbane, Australia. This is a famous financial advisor company.

They hired me in 2019 on a marketplace. Since then, I have been working for them on project basis till today. Each year Each year they give me 3-4 Excel VBA projects and also, modifications to existing automation macros. Also, I developed a few MS Access database front-end applications with their Excel data.

Up to now (August 2023), there are 35 Modules, 60 Macros and 19K lines of VBA code in this Excel VBA project up to 2023. It is a large-scale VBA project.
There is a video demostration of this VBA project below. I created this video in 2021.

Excel VBA Automation Macros for a Financial Company in Calabasas, California – 2017 to Date

Mr. Adam Meyers, Financial Advisor and owner of Asset Planet, Westlake Village, California hired me on a marketplace in 2017. Since then, I have been working for them till today on project basis. Each year they give me 3-4 projects on Excel VBA.

I developed more than 20 large-scale macros that process CSV data of Shares, Equity, Options etc. and create desired output sheets.

Mr. Adam Meyers is selling the 9 Excel tools for financial analysis on his website, all those are developed by Momtaz U during 2022.

Please watch this video to know how Mr. Meyers evaluates my expertise and my contributions to their company.

Excel VBA Automation Macros for a Financial Company in Los Angeles, California – 2017 to Date

RVW Wealth is a financial advisor company in Los Angeles and Mr. Janathan L Gerber is the owner. They hired me on a marketplace in 2017 for Excel to Word automation. Later I worked on several projects up to 2022. Whenever they need any automation program, they contact me and hire me online.

Below is an image of a Word document which is auto created from Excel data. My macros create Word documents and send email with the document attached.

Please watch this video to know how Mr. Simon Liu evaluates my expertise and my contributions to their company.

Excel to Word document for valuation of Real Estate properties – 2016 to date

Mindful Aprraisal Services hired me on a marketplace in 2016 to develop VBA Macros to automate a few Word documents with Excel data. I created User Forms for data entry with data validations and Editing, Deleting etc.

I have been working for them tioll today. They give me 2-3 projects each year on project basis. The macros auto fill the merge fields in the Word documents with styles and formatting.

I have made the form with some graphics to look aesthetic and modern.

Microsoft Word User Form for Data Entry and Export to PDF – 2020

Brenna requested me to develop a User Form in Microsoft Word and hired me on a marketplace. She needed to input data on the form and export the document to PDF. I created the User Form with a few drop-down lists and data validations.

Excel Macro for Data Analysis – 2019

I created this Excel VBA Macro for data analysis and data visualization on Guru marketplace in Feb 2019 for a client from Canada. The Excel Macro picks data from several sheets and consolidates it into the Pivot Table and creates a Pivot Chart in a few seconds.

Word VBA pulls data from Excel for 153-page document – 2021

Mindful Aprraisal Services gives me 2-3 jobs each year since 2016. This is Word VBA program. The command on this User Form pulls data from Excel and auto fill property valuation document with 153 pages with several properties. You see a property in the image below.

The owner of this company says she is always grateful to me for the help I provided for these complex programming.

Dental Clinic’s CSV Data Analysis in Excel – 2017 to Date

Gentle Dentistry Implant Center from Trinidad & Tobago first hired me in 2017 for data analysis of their doctor’s payment CSV data. They give me 2-3 jobs each year till today.

Outlook User Form for Contacts – 2020

Mr. Ralph from the UK hired me to make a User Form for Contacts data entry in Outlook with some preconditions and data validations. I created this custom Form and programmed in VB Script. Because Outlook custom Form does not support VBA.

It needed really complex programming in VB Script coding for lots of Fiedls. I made it successfully.

Outlook Macro That Saves Emails to Windows Folder – 2020

I created this Outlook Macro with Outlook VBA that saves emails of a given period from the active explorer to the selected Windows folder. This was created for a client named Jesica from the USA in 2020 on Upwork marketplace.

You can hire me for automation of any process in Outlook or Email setup, emal migration from domain to gmail or Outlook.

Outlook User Form for Email Data Entry – 2018

A client hired me on Guru marketplace and said that he needed User Form for email data entry because his people were not much familiar with Outlook for sending email with attachments.

I created this User form for him. He said this Outlook automation helped him greatly.

Share article

Let's Get Started

We are excited to hear about your project! Let’s get started by scheduling a call. We specialize in building custom websites, web applications, web design, database development and automation of Microsoft Office 365.

We will definitely add value to your business.