我是Excel VBA的新手,正在寻找编辑宏的帮助。
我有三列制裁金额,任期和7328行的利率。
Data Looks something like this
我已经有一个工作的VBA脚本(如下所示)来计算摊销计划,但我希望它从3列中获取输入,计算7328行(而不是手动将其放入)并附加下面的值彼此。
我正在请求更改下面的脚本以获取3列中的值。
Sub one()
Dim intRate, loanLife, initLoan, payment As Double
Dim yearBegBal, intComp, prinComp, yearEndBal, intTot, prinTot, fvloan As Currency
ActiveSheet.UsedRange.Delete
intRateYrs = InputBox("Input Interest rate (Annual):")
loanLifeYrs = InputBox("Input Loan life (Years):")
initLoan = InputBox("Input Loan amount:")
Application.DisplayAlerts = True
Application.ScreenUpdating = True
intRateMths = (intRateYrs / 100) / 12
loanLifeMths = loanLifeYrs * 12
Cells(4, 2).Value = Format(intRateYrs, "#.##") & " %"
Cells(4, 3).Value = Format(intRateMths, "Percent")
Cells(5, 2).Value = loanLifeYrs
Cells(5, 3).Value = loanLifeMths
Cells(6, 2).Value = Format(initLoan, "Currency")
payment = Pmt(intRateMths, loanLifeMths, -initLoan)
Cells(7, 2).Value = Format(payment, "Currency")
outRow = 10
intTot = 0
prinTot = 0
fvloan = 0
Cells(10, 2).Value = "Beginning Balance"
Cells(10, 3).Value = "Payment"
Cells(10, 4).Value = "Interest"
Cells(10, 5).Value = "Principal"
Cells(10, 6).Value = "End Balance"
Cells(10, 7).Value = "Total Interest"
Cells(10, 8).Value = "Total Principal"
Cells(10, 9).Value = "Total Repaid"
yearBegBal = initLoan
For rowNum = 1 To loanLifeMths
intComp = yearBegBal * intRateMths
prinComp = payment - intComp
yearEndBal = yearBegBal - prinComp
intTot = intTot + intComp
prinTot = prinTot + prinComp
fvloan = intTot + prinTot
Cells(outRow + rowNum, 1).Value = rowNum
Cells(outRow + rowNum, 2).Value = Format(yearBegBal, "Currency")
Cells(outRow + rowNum, 3).Value = Format(payment, "Currency")
Cells(outRow + rowNum, 4).Value = Format(intComp, "Currency")
Cells(outRow + rowNum, 5).Value = Format(prinComp, "Currency")
Cells(outRow + rowNum, 6).Value = Format(yearEndBal, "Currency")
Cells(outRow + rowNum, 7).Value = Format(intTot, "Currency")
Cells(outRow + rowNum, 8).Value = Format(prinTot, "Currency")
Cells(outRow + rowNum, 9).Value = Format(fvloan, "Currency")
yearBegBal = yearEndBal
Next rowNum
ActiveSheet.Range("A:I").EntireColumn.AutoFit
Rows("11:11").Select
ActiveWindow.FreezePanes = True
Range("A1").Select
Application.DisplayAlerts = False
Application.ScreenUpdating = False
End Sub
答案 0 :(得分:0)
$myArray = array(
array( "Jacob", "Collins", 19 ),
array( "Noah", "Little", 31 )
);
// Displays "Noah little 31"
echo $myArray[1][0]." ".$myArray[1][1]." ".$myArray[1][2];
foreach ($myArray as $row)
{
//concatenate this to your query string.
$assembledQuery = "(\"$row[0]\", \"$row[1]\", $row[2])";
}