我创建了一个脚本,如果在两个文档中找到相同的值,则将两个不同工作表中的列进行比较。
我这样做是通过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
答案 0 :(得分:0)
如果SheetName
是WorkSheet
,那么在您的公式中,您应该写SheetName.Name
另外,我不确定工作簿和工作表名称之前和之后的'
。