将从一个工作表生成的值放入新工作表中

我有一个嵌套的for loop ,它正在寻找一行中的值,基于方程生成一个值,然后对第一个之后的许多行执行相同的操作,同时将值加在一起。

实质上,如果第一行的值为15,第二行和第三行的值为10和12,则存储总值(名为genCost )的variables将为37。

我想将总和的genCost放在一个新的工作表中,按天分隔,但是当我运行代码时,我得到一个运行时1004错误。 我意识到这与我正在处理的工作表以及我正在尝试将值放入(第二行代码中的最后一行)的工作表有关。

我明白我的代码可能是丑陋而简单的,但有人可以帮我解决这个问题吗?

 'Nested For loop for ALL OTHER DAYS of genCost...only 1 formula For j = 2 To dayNumber For i = 1 To increments 'IF(AND(U7=1,U6=0),R7,0) If Cells(rowValue, 21) = 1 And Cells(rowValue - 1, 21) = 0 Then ifValue = Cells(rowValue, 18) Else ifValue = 0 End If 'calculate value variable with second half of equation value = (((Cells(rowValue, 23) * Cells(rowValue, 16) * (1 / 6)) + (Cells(rowValue, 25) * Cells(rowValue, 17) * (1 / 6)) + (Cells(rowValue, 21) * Cells(rowValue, 19) * (1 / 6)) + ifValue)) genCost = genCost + value 'set value and ifValue back to zero and step down one row and do again value = 0 ifValue = 0 rowValue = rowValue + 1 Next i Cells(3, j) = genCost Dim genCostRefNum As Integer: genCostRefNum = 6 ThisWorkbook.Sheets(1).Range(Cells(genCostRefNum, 4)) = genCost genCost = 0 Next j 

而不是这个

 ThisWorkbook.Sheets(1).Range(Cells(genCostRefNum, 4)) = genCost 

写这个

 ThisWorkbook.Sheets(1).Cells(genCostRefNum, 4) = genCost 

Cells语句有一个默认属性,它的ValueValue (对于Range是相同的)。 所以你的代码是完全的

 ThisWorkbook.Sheets(1).Range(Cells(genCostRefNum, 4).Value).Value = genCost 

并在执行Cells后类似于:

 ThisWorkbook.Sheets(1).Range(6).Value = genCost 

总是编写完整的语句并且不依赖于默认属性是一个好习惯。