Microsoft Excel is a powerful tool for data analysis and visualization. A useful feature is the ability to add comments to cells to provide additional information or context. However, sometimes comments can clutter your worksheet or overlap with important data.

In such cases, you may want to reset the comment positions to make your worksheet more organized. This can be achieved through VBA (Visual Basic for Applications), Excel’s built-in programming language. In this article, we will guide you through the process of resetting comment positions in Excel using VBA.

What are Comments in Excel?

Comments in Excel are small notes or labels that you can add to individual cells. They are often used to provide explanations or additional information about the data in a cell. When you hover over a cell with a comment, a small pop-up box appears, displaying the comment text. In the Microsoft 365 version of Excel they are no longer called Comments, vut have been rebranded as Notes.

The Problem with Comment Positions

As you work with comments in Excel, you may notice that comments sometimes obscure the data or are not positioned optimally, especially when you have a large dataset. This can make it challenging to view and analyze your data effectively. Resetting comment positions can help address these issues and make your worksheet more user-friendly.

Using VBA to Reset Comment Positions

VBA is a powerful tool for automating tasks in Excel. To reset comment positions in Excel using VBA, follow these steps:

Step 1: Open the Visual Basic for Applications Editor

To access the VBA editor, press Alt + F11 or go to the “Developer” tab and click “Visual Basic.” If you don’t see the “Developer” tab, you may need to enable it in Excel’s options.

Step 2: Insert a New Module

In the VBA editor, click on “Insert” and then select “Module.” This will create a new module where you can write your VBA code.

Step 3: Write the VBA Code

You can use the following VBA code to reset comment positions:

Sub CommentReset()
'Resets all comments on this worksheet
Dim cmnt As Comment
For Each cmnt In ActiveSheet.Comments
cmnt.Shape.Top = cmnt.Parent.Top - 5
cmnt.Shape.Left = cmnt.Parent.Offset(0, 1).Left + 5
Next
End Sub

This code iterates through all cells in the active worksheet’s used range and resets the comment positions, for each comment to be 5 pixels from the parent cell.

Step 4: Run the VBA Macro

Close the VBA editor and return to your Excel worksheet. To run the macro, press Alt + F8 to open the “Macro” dialog box. Select “CommentReset” and click “Run.”

All the comments in the active worksheet will be repositioned, and any overlapping or hidden comments should be resolved.

Conclusion

Using VBA to reset comment positions in Excel can help you maintain an organized and clean worksheet, making it easier to work with your data. The provided VBA code is a simple example of how to achieve this, and you can customize it to suit your specific needs. By taking advantage of Excel’s VBA capabilities, you can streamline your data analysis processes and enhance your productivity.