首页 文章

通过VBA插入公式,参考另一张不起作用的表格 . 需要解决方法

提问于
浏览
0

我创建了一个脚本,如果在两个文档中找到相同的值,则将两个不同工作表中的列进行比较 .

我这样做是通过VBA将公式插入两个文件之一 .

公式: =IF(ISNA(MATCH(A1;'[Filename]SheetName'!$B:$B;0));"NO MATCH","MATCH")

问题是,如果 SheetName 不是 Sheet(insert number here) ,那么脚本不会知道它为什么不能识别工作表,但我需要一个解决方法 .

VBA脚本:

Formula1 = "=IF(ISNA(MATCH(" & Chr(col1 + 64) & MyCell1 & ",'[" & fi2 & "]" & SheetName & "'!$" & Chr(col3 + 64) & ":$" & Chr(col3 + 64) & ",0)),""NO MATCH"",""MATCH"")"

Formula2 = "=IF(" & Chr(col1 + 65) & MyCell1 & "=""NO MATCH"",""-"",IF(INDEX('[" & fi2 & "]" & SheetName & "'!$" & Chr(col4 + 64) & ":$" & Chr(col4 + 64) & ",MATCH(" & Chr(col1 + 64) & MyCell1 & ",'[" & fi2 & "]" & SheetName & "'!$" & Chr(col3 + 64) & ":$" & Chr(col3 + 64) & ",0))=" & Chr(col21 + 63) & MyCell1 & ",""MATCH"",""NO MATCH""))"

With Range(myRange1)

        .NumberFormat = "General"
        .Value = Formula1
        .Value = .Value
        .HorizontalAlignment = xlCenter
        .ColumnWidth = 27

End With

With Range(myRange2)

        .NumberFormat = "General"
        .Value = Formula2
        .Value = .Value
        .HorizontalAlignment = xlCenter
        .ColumnWidth = 27

End With

1 回答

  • 0

    如果 SheetNameWorkSheet ,那么在你的公式中你应该写 SheetName.Name 另外,我不确定工作簿和工作表名称之前和之后的 ' .

相关问题