Excel 将变量放入公式并使其逐行前进的问题

Excel 将变量放入公式并使其逐行前进的问题,excel,vba,variables,formula,Excel,Vba,Variables,Formula,我从表中提取数字(基于星期几),并将其用于将该值乘以另一个单元格的值的公式中。星期日公式应按行向下推进,乘数单元格也应如此。这个公式需要复制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 vari

我从表中提取数字(基于星期几),并将其用于将该值乘以另一个单元格的值的公式中。星期日公式应按行向下推进,乘数单元格也应如此。这个公式需要复制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的初学者,仍然对单元格与范围以及将变量插入公式感到困惑。

以下代码返回一个范围:

   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

问题不是在查找范围内迭代。一旦列被find标识,数据从下一个单元格开始向下(因此偏移量),然后我需要向下迭代,以及向下迭代我放入公式的列。你能提供一个包含数据的示例吗?我不能复制和粘贴。列为1到7,包含值:0.37 0.40 0.39 0.41 0.40 0.40 0.38,然后下一行包含0.35 0.36 0.38等。我的公式从L28开始,需要使用.37,然后在L29中使用0.35等。