我花了5个小时试图解决这个问题,现在是时候寻求帮助了。
我正在创建一个"库存日历"每天我们生产和销售一些物品。我想知道在某一天我有多少天的价值。我们每天销售的商品数量不同。一切正常,直到If LastRowQ.Offset(-1,0).Value行,我得到一个"对象需要"错误。我想将剩下的第二个项目的数量除以最后一个单元格(最后一个单元格是偏移量(-1,0),因为最后一个单元格如果它不是0则导致负数除以销售的项目数量)那天(H栏)所以我得到一个小数,表示我们已经拥有的库存将涵盖那一天。另外,如何将该值(余数)放入单元格R3中?
谢谢!
Sub test()
Dim r As Integer, a As Integer, remainder As Single
remainder = 0
Range("B2").Select ' Today's inventory
Application.CutCopyMode = False
Selection.Copy
Range("Q2").Select ' Helper column to paste the remaining inventory for each day
ActiveSheet.Paste
For r = 2 To 10
While Cells(r, "Q").Value > 0
Cells(r + 1, "Q") = Cells(r, "Q").Value - Cells(r, 8).Value
r = r + 1
Wend
Next r
With ActiveSheet
LastRowQ = .Range("Q" & .Rows.Count).End(xlUp).Row
End With
If LastRowQ.Offset(-1, 0).Value > 0 Then
remainder = LastRowQ.Offset(-1, 0).Value / LastRowQ.Offset(0, -9).Value
' How do I put the value of "remainder" into cell R3?
End If
End Sub
答案 0 :(得分:1)
看到Range("B2").Select ' Today's inventory
之后,Cells(r + 1, "Q") = Cells(r, "Q").Value - Cells(r, 8).Value
中的 8 应该是{strong> B ,如Cells(r + 1, "Q") = Cells(r, "Q").Value - Cells(r, "B").Value
吗?
LastRowQ = .Range("Q" & .Rows.Count).End(xlUp).Row
未设置范围对象;它为LastRowQ分配一个数字。您不能将LastRowQ用作LastRowQ.Offset(-1, 0).Value
之类的范围对象。也许你的意思是Cells(LastRowQ - 1, "Q").Value
。
使用Option Explicit来避免变量声明错误和拼写错误。
明确限定所有父工作表。