posted by Dom on .
I'm trying to create a vba code that solves this problem: 50 apartment units rent for 600 a month, for each 40 dollar increase in rent a unit becomes unoccupied. I want to find the max profit and number of units at that number.
Dim Rent As Variant
Dim increase As Integer
Dim units As Object
Dim Profit As Double
Rent = InputBox("The rent to occupy all the units")
increase = InputBox("The increase in rent that results in a vacant unit")
Rent = Rent + increasea
units = 50
Profit = units * (600 + increase)
Outputbox " " & units & " units and " & Profit & " when profit is maximized."
Your code seems to be in reasonable shape, except that it does not yet implement the algorithm to find the maximum revenue.
So the current revenue is 600*50=30,000$ a month.
Your program will increase the rent by $40 steps and recalculate the revenue.
When the revenue starts to decrease, then you have found the maximum revenue.
The programming part will include a for loop for implementing the increase, a method to calculate the new revenue, a variable to keep the old revenue, and an if statement to jump out of the loop when the revenue decreases.
The pseudocode would look something like this:
Define all variables
1. Input current rent (Rent=600$), number of units (Units=50), and critical increase (Increase=40$)
Current revenue (Revenue)=Units*Rent
2. Loop over increases
For inc=40 to Units*40 step40
If NewRevenue<revenue then exit loop
Rem: Found max. increase
If you implement the above pseudocode, you should get the correct result of $1300 as the most profitable rent with a revenue of $42250.