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