How Do I Declare Decimal Data Type in VBA?


Scott Campbell

How Do I Declare Decimal Data Type in VBA?

In Visual Basic for Applications (VBA), the Decimal data type is not available natively. However, you can achieve similar functionality by using the Currency data type, which provides a fixed-point decimal number with four decimal places.

In this tutorial, we will explore how to declare and use the Currency data type effectively.

Declaring a Variable with the Currency Data Type

To declare a variable as Currency, you can use the Dim statement followed by the variable name and specify As Currency. Here’s an example:

Dim myDecimal As Currency

Assigning Values to a Currency Variable

You can assign values to a Currency variable using the assignment operator (=). The assigned value should be within the range supported by the Currency data type, which is -922,337,203,685,477.5808 to 922,337,203,685,477.5807.

myDecimal = 1234.56

Alternatively, you can assign values during variable declaration itself:

Dim myDecimal As Currency = 1234.56

Performing Arithmetic Operations with Currency Variables

You can perform arithmetic operations on variables declared as Currency using standard operators such as + (addition), – (subtraction), * (multiplication), and / (division). It’s important to note that arithmetic operations on two or more Currency variables will return a result of the same data type.

Dim result As Currency
result = myDecimal + 1000
result = result * 2

Formatting Currency Values

To format a Currency value with specific currency symbols, thousand separators, or decimal places, you can use the FormatCurrency function. This function takes the Currency value as input and returns a formatted string representation of the value.

Dim formattedValue As String
formattedValue = FormatCurrency(myDecimal, 2, vbCurrencySymbol)


Although VBA does not have a native Decimal data type, you can effectively use the Currency data type to achieve similar functionality. By declaring variables as Currency and performing arithmetic operations on them, you can work with fixed-point decimal numbers with ease.

Additionally, formatting functions like FormatCurrency allow you to present these values in a user-friendly manner.

Remember to always choose the appropriate data type based on your specific requirements. In cases where precision beyond four decimal places is necessary, alternative approaches such as using strings or custom data structures may be required.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy