Let us worry about your assignment instead!

We Helped With This Excel (VBA) Programming Assignment: Have A Similar One?

SubjectExcel (VBA)
More InfoExcel Vba Assignment Help

Short Assignment Requirements

Attached File 1 is the Excel file where work needs to be completed and function Attached File 2 are instructionsI have attempted to complete this work but have had no success in doing so, disregard 1st item in instruction file about creating a flowchart, that has been done.

Assignment Description

4.6 VBA Project: Olympus Tours

Assume you have just been hired by Olympus Tours (OT), a bus-rental company located in Orem, Utah.  OT provides buses for groups such as schools, family reunions, travel clubs, etc. The smallest group OT will bus is 20 people and the largest group is 120 people.

Two types of buses are available for use: small buses (25 maximum riders per bus) and large buses (60 maximum riders per bus).  Assume that OT has access to all of the small and large buses it needs.

Table 1. Bus Combinations


# of Buses









































OT’s pricing structure is as follows.  The base price (BP) is calculated by multiplying the number of people (P) included in the trip by a per-person base rate (PPBR).


The base price covers trips up to and including five hours in duration. Customers are charged extra for tours that last longer than 5 hours. For example, a bus rented for 6.5 hours would have 1.5 overtime hours (OH). The maximum number of overtime hours per day is four, which means any trip lasting nine hours or more has the same number of overtime hours regardless of the duration of time that exceeds 9 hours.

The overtime charge (OC) is calculated by multiplying the base price (BP) by the overtime hours (OH) multiplied by the extra hourly percentage (EHP) as follows:

OC = BP * OH * EHP

Table 2 shows some example price calculations that include partial hours.

Table 2 Example Pricing Calculations

Number of People

Per-Person Base Rate

Base Price


Overtime Hours

Extra Hourly Percent

Overtime Charge

Total Price

























































Note: *these numbers are not calculated in your code. Your sub should simply take whatever value for PPBR and EHP that is given in the setup portion of the single estimate and use that in your calculations

Your task is to create both 1) a flowchart and, 2) a VBA program in Excel that will pick the right number of buses and that will calculate the correct price for the number of people and hours specified. 

Because the pricing parameters (PPBR and EHP) are somewhat stable, they are stored in the setup section. When the program runs (both the single and the batch), it should obtain the values for PPBR and EHP from the Setup section.

Based on the values in the setup section and the number of people and hours specified, your program should calculate the correct outcomes. Your program should work correctly for single-trip estimates and for a batch of estimates. Your program should only pull values from the worksheet. You should not be using inputboxes.

Single-Trip Estimates. The program should work when the user wants to estimate one trip at a time. For a single trip, the user enters inputs directly into the [User Form] tab and presses the Run Single button. In this scenario the user will enter the number of people (P) and the tour duration in hours (H) into the appropriate cells in the User Form. Your program should then use the pricing parameters (PPBR and EHP) to calculate the amount the customer will be charged per day. NOTE: if the user requests fewer than 20 or greater than 120 passengers, the user should see a pop-up message that indicates that they’ve selected too few or too many passengers and the outputs should all be set to zero. Figure 1 shows the [User Form] tab.

If there is a multi-day tour, the program will be run for each day of the multi-day tour. Thus your program does not need to support calculations for more than one day at a time.

Figure 1: [User Form] Tab


Batch Estimates. OT often wants to estimate batches of trips. In this case, the program should take all of the tours shown as inputs on the [Batch Input] tab, estimate them one at a time, and write the results to the [Batch Output] tab.  To estimate all trips within a batch, the user presses the Run Batch button on the [User Form] tab.

The [Batch Input] tab. Figure 2 explains the data on the [Batch Input] tab.


Figure 2: [Batch Input] Tab


The [Batch Output] tab. Figure 3 shows how your program should organize the outputs on the [Batch Output] tab.

Figure 3: [Batch Output] Tab.


Summary of the Project Assignments and Details:

1.    Create a flowchart for the process of completing an estimate for a single-tour. You are not required to create a flowchart for the Run Batch process. Upload this flowchart separately from your completed workbook in the file upload box below (to facilitate grading).

2.    Download the Olympus Tours Programming Project Worksheet below. Do not make your own workbook. Add VBA code to complete the project.

3.    Your VBA code should work with the cells that are already positioned on the [User Form] tab of the workbook. Do not change the cell locations or layout on the [User Form] tab within the workbook. In addition, do NOT add or delete any columns or rows.

4.    Use VBA to do all of the calculations. Do not use spreadsheet functions.

5.    Add your VBA code to the two existing sub routines that have been started in Module1 already within the workbook. Add your code to the sub routine named EstSingle() that will run when the user presses the Run Single Button. Add your code to the sub routine named EstBatch() that will run when the user presses the Run Batch Button. Connect the appropriate subroutine to the respective buttons, so that the correct sub routine will run when the button is pushed.

6.    In your code, use the Option Explicit setting for both subroutines. (This should already be set.) Verify this by ensuring that the first line of code says “Option Explicit.”

7.    Use Dim statements to declare all variables that you use in your code.  Declare the variables as the data types shown on Column D of the [User Form] tab.

8.    Test your program with a variety of inputs to ensure it works properly before you turn in your assignment.

9.    You do not need to calculate PPBR or EHP. Rather, your sub should take whatever values of PPBR and EHP are provided by the user in the setup variables section in the single estimate user form.

10. Upload your completed Excel workbook in the appropriate upload box below.

11. Do not forget to handle user inputs that are invalid (i.e. <20 or >120 passengers) as indicated in the description above.

12. Be sure your batch Sub can handle extra batches of data (same format as existing batches) added to the bottom of the batch input tab. 

13. Be sure your batch Sub can handle extra spaces (1 or more empty rows) between batches of data.

14. Please comment your code so that it is easy for a grader to follow. Code without comments may be penalized. Partial credit is also much easier to grant if code is commented.


Frequently Asked Questions

Is it free to get my assignment evaluated?

Yes. No hidden fees. You pay for the solution only, and all the explanations about how to run it are included in the price. It takes up to 24 hours to get a quote from an expert. In some cases, we can help you faster if an expert is available, but you should always order in advance to avoid the risks. You can place a new order here.

How much does it cost?

The cost depends on many factors: how far away the deadline is, how hard/big the task is, if it is code only or a report, etc. We try to give rough estimates here, but it is just for orientation (in USD):

Regular homework$20 - $150
Advanced homework$100 - $300
Group project or a report$200 - $500
Mid-term or final project$200 - $800
Live exam help$100 - $300
Full thesis$1000 - $3000

How do I pay?

Credit card or PayPal. You don't need to create/have a Payal account in order to pay by a credit card. Paypal offers you "buyer's protection" in case of any issues.

Why do I need to pay in advance?

We have no way to request money after we send you the solution. PayPal works as a middleman, which protects you in case of any disputes, so you should feel safe paying using PayPal.

Do you do essays?

No, unless it is a data analysis essay or report. This is because essays are very personal and it is easy to see when they are written by another person. This is not the case with math and programming.

Why there are no discounts?

It is because we don't want to lie - in such services no discount can be set in advance because we set the price knowing that there is a discount. For example, if we wanted to ask for $100, we could tell that the price is $200 and because you are special, we can do a 50% discount. It is the way all scam websites operate. We set honest prices instead, so there is no need for fake discounts.

Do you do live tutoring?

No, it is simply not how we operate. How often do you meet a great programmer who is also a great speaker? Rarely. It is why we encourage our experts to write down explanations instead of having a live call. It is often enough to get you started - analyzing and running the solutions is a big part of learning.

What happens if I am not satisfied with the solution?

Another expert will review the task, and if your claim is reasonable - we refund the payment and often block the freelancer from our platform. Because we are so harsh with our experts - the ones working with us are very trustworthy to deliver high-quality assignment solutions on time.

Customer Feedback

"Thanks for explanations after the assignment was already completed... Emily is such a nice tutor! "

Order #13073

Find Us On

soc fb soc insta

Paypal supported