【发布时间】:2017-08-12 20:44:53
【问题描述】:
我想输入一定数量和金额的付款并让它们连续写入单元格。前任。 6 次支付 100.00 美元,12 次支付 200.00 美元。我想让 18 个单元格连续显示 100 美元 6 次,然后 12 次显示 200 美元。有什么建议吗?我需要根据付款总数来改变范围。
【问题讨论】:
我想输入一定数量和金额的付款并让它们连续写入单元格。前任。 6 次支付 100.00 美元,12 次支付 200.00 美元。我想让 18 个单元格连续显示 100 美元 6 次,然后 12 次显示 200 美元。有什么建议吗?我需要根据付款总数来改变范围。
【问题讨论】:
这是否是您正在寻找的更多内容?付款金额在第一列中。
Sub InputData()
Dim inputQty As Integer
Dim inputAmount As Integer
On Error GoTo errorHandler
inputQty = InputBox("Enter in the quantity of payments", "Payment Quantity", "XX", vbOKCancel)
inputAmount = InputBox("Enter the amount for each payment", "Payment Amount", "$XXX.xx", vbOKCancel)
If Range("A2").Value = "" Then
Range("A1").Select
Else
Range("A1").End(xlDown).Select
End If
Dim i As Integer
For i = 1 To inputQty
ActiveCell.Offset(i, 0) = inputAmount
Next i
errorHandler:
End Sub
【讨论】:
我猜您希望用户能够多次输入数量和金额。在这里,我想出了一些东西让你开始:
Sub DataInput()
Dim inQty As Long
Dim inAmt As Long
Dim response As Integer
Dim i As Integer
i = 0
[A1].Select
response = MsgBox("Do you want to enter?", vbYesNo, "Enter?")
Do Until (response = vbNo)
inQty = InputBox("Please enter the quantity of payments", "Payment Quantity", 1)
inAmt = InputBox("Enter the amount for each payment", "Payment Amount", 0)
For i = i + 1 To inQty + i
ActiveCell.Offset(i, 0) = inAmt
Next i
response = MsgBox("Do you want to enter more?", vbYesNo, "Enter?")
i = i - 1
Loop
End Sub
如果您有任何问题,请告诉我。
【讨论】:
这个公式怎么样:
=IF(SUM($A$2:A2)<$E$1*0.8;200;IF(SUM($A$2:A2)<$E$1;100;""))
这做出以下假设:目标值在 $E$1 中,您在 A2 中输入一个 0(如果它打扰您,您可以隐藏此行)。然后应用公式从 A3 向下的所有单元格。
该公式将假定大分期付款的数量是小分期付款的两倍。总付款的 80% (=0.8) 将分 200 美元分期付款,另外 20% 的分期付款 100 美元。因此,该公式跟踪付款的运行总和 (SUM($A$2:A2)),并将其与 $E$1 * 0.8 中的目标值进行比较。如果低于,则将分期付款设置为 200。如果不是,它将检查是否已达到总额,并在必要时添加 100。如果达到总数,它将显示一个空单元格。
【讨论】: