- HOW TO MAKE FORMULAS IN MICROSOFT EXCEL 2007 HOW TO
- HOW TO MAKE FORMULAS IN MICROSOFT EXCEL 2007 CODE
You do that by adding the word Application before the word Round. Therefore, to use ROUND in this statement, you tell VBA to look for the Round method (function) in the Application object (Excel). VBA has no ROUND function, but Excel does. If quantity is less than 100, VBA executes the following statement:įinally, the following statement rounds the value assigned to the Discount variable to two decimal places:ĭiscount = Application.Round(Discount, 2) Because the variable Discount has the same name as the function procedure, the value stored in the variable is returned to the worksheet formula that called the DISCOUNT function. A VBA statement that stores a value in a variable is called an assignment statement, because it evaluates the expression on the right side of the equal sign and assigns the result to the variable name on the left. The result is stored as the variable Discount. If the number of items sold is greater than or equal to 100, VBA executes the following statement, which multiplies the quantity value by the price value and then multiplies the result by 0.1:
HOW TO MAKE FORMULAS IN MICROSOFT EXCEL 2007 CODE
The If statement in the following block of code examines the quantity argument and determines whether the number of items sold is greater than or equal to 100:
The argument names enclosed in parentheses, quantity and price, are placeholders for the values on which the calculation of the discount is based. When you press Enter, Excel looks for the name DISCOUNT in the current workbook and finds that it is a custom function in a VBA module. Let’s consider how Excel interprets this function procedure. Now you can copy the DISCOUNT formula to G8:G13 to get the results shown below. In the formula =DISCOUNT(D7,E7), D7 is the quantity argument, and E7 is the price argument.
When you call the function in a worksheet cell, you must include those two arguments. In the first line of your VBA code, Function DISCOUNT(quantity, price), you indicated that the DISCOUNT function requires two arguments, quantity and price. Close the Visual Basic Editor, select cell G7, and type the following:Įxcel calculates the 10 percent discount on 200 units at $47.50 per unit and returns $950.00. Now you’re ready to use the new DISCOUNT function. A new module window appears on the right-hand side of the Visual Basic Editor.Ĭopy and paste the following code to the new module.ĭISCOUNT = Application.Round(Discount, 2) Press Alt+F11 to open the Visual Basic Editor (on the Mac, press FN+ALT+F11), and then click Insert > Module. To create a custom DISCOUNT function in this workbook, follow these steps: The example below shows an order form that lists each item, quantity, price, discount (if any), and the resulting extended price. In the following paragraphs, we'll demonstrate a function to calculate this discount.
Suppose your company offers a quantity discount of 10 percent on the sale of a product, provided the order is for more than 100 units. To create functions and macros, you work with the Visual Basic Editor (VBE), which opens in a new window separate from Excel.
HOW TO MAKE FORMULAS IN MICROSOFT EXCEL 2007 HOW TO
In this article, you’ll learn how to create and use custom functions. Certain kinds of statements, such as statements that select and format ranges, are excluded from custom functions. Second, they perform calculations instead of taking actions. That is, they start with a Function statement instead of a Sub statement and end with End Function instead of End Sub. First, they use Function procedures instead of Sub procedures. They differ from macros in two significant ways. Custom functions, like macros, use the Visual Basic for Applications (VBA) programming language.