首页 > 解决方案 > 通过单元格错误循环公式的语法

问题描述

当我运行此代码时,我得到一个“应用程序定义或对象定义的错误”,我不知道如何修复我的代码。我是 VBA 和宏的新手。下面是我的代码。我试图通过将一个值与另一个列表进行比较然后向下移动一行来逐个单元格地进行。

For i = 1 To 133
    For k = 1 To 133
         Worksheets("Sheet1").Cells(i + 1, 2).FormulaR1C1 = "=IF(ISNUMBER(SEARCH(Cells(i + 1, 2),Sheet2!R[k+1]C[3])),Sheet2!R[k+1]C[5],"""")" 
    Next k  
Next i

标签: vbaexcel

解决方案


未经测试:

For i = 1 To 133

    For k = 1 To 133
         Worksheets("Sheet1").Cells(i + 1, 2).FormulaR1C1 = _
           "=IF(ISNUMBER(SEARCH(" & Cells(i + 1, 2).Address(False, False, xlR1C1) & _
           ",Sheet2!R[" & (k+1) & "]C[3])),Sheet2!R[" & (k+1) & "]C[5],"""")"

    Next k  

Next i

推荐阅读