将变量放入公式并让它逐行前进的问题

Problems with placing variables into a formula and having it advance row by row

我从 table(基于星期几)中提取数字,并将其用于将值乘以另一个单元格的值的公式中。星期几公式应像乘数单元格一样按行向下推进。公式需要抄下来18次。

我已经尝试实现各种数组和循环,但我似乎无法让它按需要推进。

'确定正确的列

Dim pcDOW As Integer 'Day of Week
Dim pcVal As Double     'value for formula

pcDOW = Weekday(Range("k28"))   'I want to make this into a variable or be able to offset

'Look for a match to the weekday to get the correct column

Dim cell As Range
Set cell = Range("b26:h26").Find(pcDOW, LookIn:=xlValues)

pcVal = cell.Offset(1, 0).Value

Range("l29").Formula = "=sum(" & pcVal & "*$l3)"

'单值工作到此为止。

我需要 pcVal 每次迭代前进一行。我不断收到错误。抱歉,我是 VBA 的初学者,我仍然对单元格与范围以及将变量插入公式感到困惑。

以下代码returns一个范围:

   Set findRange = Range("b26:h26").Find(pcDOW, LookIn:=xlValues)

您应该遍历范围:

For Each c In findRange.Cells
 pcVal = c
... your code
Next c

也许这样的事情会有所帮助:

Dim lngCount As Long

For lngCount = 1 To 18
    pcVal = cell.Offset(lngCount, 0).Value
    Range("l" & 29 + lngCount - 1).Formula = "=sum(" & pcVal & "*$l3)"
Next lngCount