基本划分和对象所需的错误

时间:2017-06-21 14:53:41

标签: excel-vba object required vba excel

我花了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

1 个答案:

答案 0 :(得分:1)

  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吗?

  2. LastRowQ = .Range("Q" & .Rows.Count).End(xlUp).Row未设置范围对象;它为LastRowQ分配一个数字。您不能将LastRowQ用作LastRowQ.Offset(-1, 0).Value之类的范围对象。也许你的意思是Cells(LastRowQ - 1, "Q").Value

  3. 使用Option Explicit来避免变量声明错误和拼写错误。

  4. 明确限定所有父工作表。