在匹配函数中循环单元格引用

时间:2013-11-18 23:49:06

标签: vba loops reference match cell

我对VBA很新,并且想知道为什么我的公式不起作用?

我试图在匹配函数中循环单元格Sheets("Summary").Cells(11 + X, 13),但它似乎无法正常工作。我做错了吗?

Sub Reset()

Dim X As Integer

For X = 0 To 19

Sheets("Summary").Cells(11 + X, 13).Select
Selection.Formula = "=INDEX(YMAX!$A:$W,MATCH(Summary!$J$4&"" ""&Summary!$J$5&""     ""&11,YMAX!$B:$B,0),MATCH(sheets("Summary").cells(11 + x,9),YMAX!$1:$1,0))"

Next X

End Sub

1 个答案:

答案 0 :(得分:0)

看起来您有以下错误

  • & ss位于错误的位置(在连接文本时应该在引号之外,在连接单元格引用时在引号内)
  • 变量(即您对“摘要”表单中的单元格的引用) 在VBA中构建字符串时不需要在引号中
  • (不是错误,按照说法)您不需要尽可能.Select 直接设置单元格的公式。

使用以下

更新您的代码
Sub Reset()

Dim X As Integer

For X = 0 To 19
    ' Broken up on several lines for clarity
    Sheets("Summary").Cells(11 + X, 13).Formula = 
        "=INDEX(YMAX!$A:$W,MATCH(Summary!$J$4" & " " & _
            "Summary!$J$5" & "    " & _
            "11,YMAX!$B:$B,0),MATCH(" & _
                Sheets("Summary").Cells(11 + X,9).Address & _
              ",YMAX!$1:$1,0))"

Next X

End Sub

我不确定这是否是您想要的公式,但这是我根据您当前的代码解释的内容。如果这对您有用,请告诉我。