Я пытаюсь создать таблицу амортизации, где процентная ставка зависит от двух входных данных, предоставляемых пользователем.Использование VLOOKUP с несколькими критериями/многомерными Vlookup
X представляет строки, а Y представляет столбцы. Значения X, Y и процентных ставок уже установлены в таблице 4 X 6. Например, если пользователь вводит X = 2 и Y = 3, тогда процентная ставка будет определена как 5%.
Функция IF может работать, но это займет много времени и неэффективно.
Я рассмотрел использование массива, и я думаю, что Vlookup будет наиболее эффективным. В Excel я использовал Vlookup вместе с Match, и он работал, но мне сложно перевести его на код VBA.
Option Explicit
Sub Amortisation()
Dim intRate, loanLife, initLoanAmt
Dim yrBegBal, intComp, prinComp, yrEndBal, annualPmt
Dim outRow, rowNum, outsheet
outRow = 3 'output table begins from row 4
outsheet = "loan amort"
Worksheets(outsheet).ActivateDo
loanLife = InputBox("Enter loan life." _
& " Loan life must be a whole number")
If loanLife < 0 Or (loanLife - Round(loanLife) <> 0) Then
MsgBox ("Loan life must be a whole number.")
End
End If
initLoanAmt = InputBox("Enter loan amount." _
& " Loan amount must be a positive whole number")
If initLoanAmt < 0 Or (initLoanAmt - Round(initLoanAmt) <> 0) Then
MsgBox ("Loan amount must be a positive whole number.")
End
End If
End Sub
Вместо запроса на процентные ставки, как я делал с другими входами, я хочу использовать VBA входы, данные выбрать процентную ставку из приведенной ниже таблицы.
Так что если X (кредит жизни) составляет 5 и Y (initloanamount) составляет 700, то я хочу VBA использовать 10 в качестве ставки.
После этого я могу продолжить работу с таблицей амортизации, используя функцию PMT.
Можете ли вы опубликовать изображение своей таблицы процентных ставок? И вам нужно сделать это с помощью VBA? – TheEngineer
Спасибо, что ответили. Да, я должен использовать VBA. У меня нет изображения таблицы процентных ставок, и я сделал таблицу с похожим форматом, но я не могу опубликовать ее здесь. Это простая таблица с четырьмя строками и шестью столбцами. Мне нужно, чтобы VBA мог использовать вводимые данные, чтобы узнать процентную ставку на их пересечении. – Samia
Дополнительная информация: Диапазон таблиц: A2: F6. Диапазон столбцов: A2: F2. – Samia