You can use the following basic syntax to calculate the minimum value in a range using VBA:

**Sub MinValue()
Range("D2") = WorksheetFunction.Min(Range("B2:B11"))
End Sub
**

This particular example calculates the minimum value in the range **B2:B11** and assigns the result to cell **D2**.

If you would instead like to display the minimum value in a message box, you can use the following syntax:

**Sub MinValue()
'Create variable to store min value
Dim minValue As Single
'Calculate min value in range
minValue = WorksheetFunction.Min(Range("B2:B11"))
'Display the result
MsgBox "Min Value in Range: " & minValue
End Sub**

The following examples shows how to use each of these methods in practice with the following dataset in Excel that contains information about various basketball players:

**Related:** How to Find Max Value in Range Using VBA

**Example 1: Calculate Minimum Value of Range Using VBA and Display Results in Cell**

Suppose we would like to calculate the minimum value in the points column and output the results in a specific cell.

We can create the following macro to do so:

**Sub MinValue()
Range("D2") = WorksheetFunction.Min(Range("B2:B11"))
End Sub**

When we run this macro, we receive the following output:

Notice that cell **D2 **contains a value of **10**.

This tells us that the minimum value in the points column is 10.

**Example 2: Calculate Minimum Value of Range Using VBA and Display Results in Message Box**

Suppose we would instead like to calculate the minimum value in the points column and output the results in a message box.

We can create the following macro to do so:

**Sub MinValue()
'Create variable to store min value
Dim minValue As Single
'Calculate min value in range
minValue = WorksheetFunction.Min(Range("B2:B11"))
'Display the result
MsgBox "Min Value in Range: " & minValue
End Sub**

When we run this macro, we receive the following output:

The message box tells us that the minimum value in the range **B2:B11** is **10**.

Note that in this example we calculated the minimum value in the range **B2:B11**.

However, if you’d like to instead calculate the minimum value in an entire column you could type **B:B** instead.

This will calculate the minimum value in all of column B.

**Additional Resources**

The following tutorials explain how to perform other common tasks in VBA:

VBA: How to Calculate Average Value of Range

VBA: How to Count Number of Rows in Range

VBA: How to Sum Values in Range