How to Quickly Lock Cells with VBA in Excel in 3 Minutes

Written by Kasper Langmann

Unlocking the power of Visual Basic for Applications (VBA) in Excel can significantly enhance your productivity. One such application is the ability to quickly lock cells. This feature is particularly useful when working with large spreadsheets where manual locking of cells can be time-consuming and prone to errors. In this guide, we will walk you through the process of locking cells with VBA in Excel in just three minutes.

Understanding the Basics of VBA in Excel

Before we delve into the specifics of locking cells with VBA, it’s essential to understand what VBA is and how it works in Excel. VBA is a programming language developed by Microsoft that is used to automate tasks in Microsoft applications. In Excel, VBA allows you to create macros, which are sets of instructions that Excel can execute in a specific order.

One of the key benefits of using VBA in Excel is that it can automate repetitive tasks, saving you time and effort. For instance, instead of manually locking cells one by one, you can create a VBA script that locks multiple cells at once. This not only speeds up the process but also reduces the risk of errors.

Setting Up VBA in Excel

To use VBA in Excel, you first need to enable the Developer tab, which is where you’ll find the VBA tools. To do this, right-click anywhere on the ribbon, select Customize the Ribbon, and then check the box next to Developer. Once the Developer tab is enabled, you can access the VBA editor by clicking on the Visual Basic button.

Within the VBA editor, you can create new macros, edit existing ones, and run your scripts. It’s also where you’ll write the code to lock cells in Excel.

Locking Cells with VBA in Excel

Now that we’ve covered the basics of VBA in Excel, let’s move on to the main focus of this guide: how to quickly lock cells with VBA in Excel. The process involves writing a simple VBA script that changes the Locked property of a cell or range of cells.

By default, all cells in Excel are locked. However, this doesn’t prevent changes to the cells because the locked property only takes effect when the worksheet is protected. So, to lock cells with VBA, you first need to unlock all cells, then lock the specific cells you want to protect, and finally, protect the worksheet.

Unlocking All Cells

The first step in locking cells with VBA is to unlock all cells. This is done by changing the Locked property of all cells to False. Here’s the VBA code to do this:

ActiveSheet.Cells.Locked = False

This code selects all cells in the active sheet and sets their Locked property to False, effectively unlocking them.

Locking Specific Cells

Once all cells are unlocked, you can lock specific cells by changing their Locked property to True. The code to do this depends on the cells you want to lock. For instance, to lock cell A1, you would use the following code:

Range("A1").Locked = True

This code selects cell A1 and sets its Locked property to True, effectively locking it.

Protecting the Worksheet

After locking the specific cells, the final step is to protect the worksheet. This is done by using the Protect method. Here’s the VBA code to do this:


This code protects the active sheet, which activates the Locked property of the cells, preventing changes to the locked cells.


Locking cells with VBA in Excel is a simple and effective way to protect your data from accidental or unauthorized changes. By understanding the basics of VBA and how to use it to lock cells, you can enhance your productivity and ensure the integrity of your data.

Remember, the key to successfully locking cells with VBA is to first unlock all cells, then lock the specific cells, and finally protect the worksheet. With practice, you’ll be able to quickly lock cells with VBA in Excel in just three minutes.