Question
Write a macro that processes the following sales data (your final code should work with data that have any number of products, different number of
Write a macro that processes the following sales data (your final code should work with data that have any number of products, different number of price breaks, different quantities for a price break, different % of extra discount, different amount for a total discount and a list with more or fewer clients).
It can be safely assumed that the data in the Products worksheet has the word Product in an anchor cell (e.g., cell A4) and the Extra Discount and If more than values are two columns to the right from the last column with price breaks. Similarly, the Total Ordered, Total Amount and Total Amount (with extra discount) columns are after skipping one column (as shown in the example below). In the worksheet named Products the following example data are given:
Thus, for example if a customer orders between 100 and 499 units of Gadget1 the unit price is $10.20 for each unit, not only for the units in excess of 100. Each customer can order different quantities of each of the gadgets. If the total dollar amount ordered by a customer exceeds $25,000.00 (number specified in cell G7 for this example three rows down from the anchor cell (i.e., cell A4 in this example) and two columns to the right of the last column with price breaks), then the customer receives an extra discount of 5% (number in cell G5 one row down from the anchor cell and two columns to the right of the last column with price breaks) of the total purchase. Note that headers in this Products worksheet are pre-specified.
The worksheet named Clients has a list of 10 clients (it can have more or fewer) with different quantities of products ordered. The program will populate the columns to the right of the last column with data (including headers). For example, the Amount Before Extra Discount paid by the last client for Gadget1 is $9,311.20 (=1030*$9.04); that is, the amount in cell F14 (in this example) of the clients worksheet would be $9,311.20. The Total Amount in column J in the sum of the Amount Before Extra Discount over all products and depends on the quantities ordered as indicated in the worksheet Products. If, however, the Total Amount of purchase exceeds the if more than in the worksheet Products, ($25,000.00 indicated in cell G7 in this example) then the percent extra discount specified in the worksheet Products (cell G5 in this example) applies in addition to the discounts obtained by the quantity ordered of each gadget (i.e., in this example the 5% discount applies to each unit cost of the gadget bought by the customer). Note that the headers in this worksheet are pre-specified for the Clients, and theproduct names but the headers for all other columns have to be appropriately generated and
placed through VBA. That is, the cells populated by the program in all the worksheets should be
cleaned out every time the program is run and before calculating the new values.
Using the data provided, the macro will calculate the Amount Before Extra Discount for each
product, Total Amount before extra discount, Amount After Discount (if any) for each product,
and After Discount Total Amount for each client in the worksheet Clients. In the worksheet
Products report the number for each product under the Total Ordered header, the Total
Amount before the extra discount for each product and the Total Amount (with extra discount)
for each product.
(Hint: Initially use cell A4 as anchor cell in the products worksheet and also in the Clients
worksheet. Define range variables for the products and the price breaks and assign the number
of products and the number of price breaks to variables. Assign to variables the extra discount
percentage and the amount required for the extra discount. You may need to use nested For
Next loops to loop through Clients, then through Gadgets and then through Price Breaks. The
loop through Price Breaks may be easier to do going from the highest to the lowest order
quantity for the price break.)
Your code should work if the data are located in worksheets with tab names and anchor cells
that could be different to the names and anchor cells given here. That is, your code will work
even if the anchor cell is different than A4 for the price breaks and different than A4 for the
client list. In addition, your code should work even if the worksheet tab names are different than
Products and Clients. The tab name for worksheets with other product lists and other client
lists and the anchor cells should be read from cells A1 to A4 of a worksheet with tab name
Scenario. For this example the Scenario worksheet looks as follows:
Please provide VBA Excel Codes. So that there should not be any abuse/inappropriate complaints or conflicts.Thanks.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started