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."
Computer Programming -
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.