We calculate the particular range using VBA. Calculate method in Excel help us to calculate all opened workbooks, specific workbooks, specific worksheets, Ranges, columns or rows. This method will be useful when your Excel Calculation method is set to manual mode. or if you have many formulas in the workbook and want to refresh or recalculate a particular range you can use Range.Calculate method.
VBA Range Calculate – Syntax
You can use the calculate method of the range to calculate any range.
VBA Range Calculate – Examples
Here is the simple example to calculate a specific Range. This example will calculate Range “A2:D10” using VBA.
Sub VBA_Calculate_Range() Range("A2:D10").Calculate End Sub
VBA Range Calculate – Instructions
Please follow the below step by step instructions to execute the above mentioned VBA macros or codes:
- Open an Excel Workbook from your start menu or type Excel in your run command
- Enter some formula at B2 as “=D2” and enter some value at D2. Now you can see the D2 value at B2.
- Set the caluclation mode to manual to test this macro
- Change the value at D2, now you can see that B2 value is not change even you have made changes at D2
- Press Alt+F11 to Open VBA Editor or you can goto Developer Table from Excel Ribbon and click on the Visual Basic Command to launch the VBA Editor
- Insert a Module from Insert Menu of VBA
- Copy the above code (for Calculating a Range using VBA) and Paste in the code window(VBA Editor)
- Save the file as Macro Enabled Workbook (i.e; .xlsm file format)
- Press ‘F5′ to run it or Keep Pressing ‘F8′ to debug the code line by line.
Now you can observe that the value at B2 is changed as per D2.
Calculate the Columns using VBA
Here is the simple example to calculate a specific Columns. This example will calculate the columns “A to D” using VBA.
Sub VBA_Calculate_Columns() Columns("A:D").Calculate 'Or Range("A:D").Calculate End Sub
Calculate the Rows using VBA
Here is the simple example to calculate a specific rows using VBA. This example will calculate the Rows”1 to 20″ using VBA.
Sub VBA_Calculate_Rows() Rows("1:20").Calculate End Sub