引用具有Offset的单元格会生成错误1004应用程序定义或对象定义错误

时间:2015-08-13 21:29:48

标签: excel vba

我必须调整销售量以便

1)我没有用尽我的日常容量和

2)我不会在月底之前用完窗外

我需要两个标准才能运行,直到它达到我的结束日期或在月底用完窗口。

日期在A栏。

我有

Sub CashCalib()

Set Window = Sheets("inventory").Range("AX124")
Set Capacity = Sheets("Inventory").Range("BU95")
Set Sales = Sheets("Inventory").Range("BV95")
Set EndDate = Sheets("inputs").Range("A1")

Do Until Sales.Offset(0, -74) = EndDate
    Capacity.GoalSeek _
    Goal:=0 And Window.Value > 0, _
    ChangingCell:=Sales
Loop

End Sub

我得到了

  

运行时错误1004应用程序定义或对象定义错误

直到行。

2 个答案:

答案 0 :(得分:2)

您的Sales.Offset(0, -74)向左移动太远,因为您没有剩下74列。如果您打算向上移动,请执行Sales.Offset(-74, 0)或更改为您需要向上移动的值。请记住,excel中没有像许多其他语言一样的0行或列。

答案 1 :(得分:1)

您收到错误1004对象错误,因为您偏移了一列太多。通过偏移Column BV(第74列)-74列,您偏移到第0列,该列不存在。

将Do Until行修改为如下所示: Do Until Sales.Offset(-94, -73) = EndDate