我有一个脚本试图根据两个不同工作簿中 Excel 电子表格第一列中的标签号比较特定数据。当我尝试访问第一个工作簿时,它运行良好,我可以使用以下命令正确访问单元格中的数据:
s_WS_string = Workbooks(s_WS_Filename).Sheets(s_WS_SheetName).Range(s_WS_col & s_WS_row).Value
其中s_WS_col
和s_WS_row
是 VBA 脚本中定义的字符串。此命令成功检索数据。然而,
OURS_string = Workbooks("OURS.xlsx").Sheets("Sheet1").Range(s_OURS_col & s_OURS_row).Value
才不是。s_OURS_col
并且s_OURS_row
都是字符串。WS
代表工作表,它是与静态工作表进行比较的变量工作OURS.xlsx
表。
它们都是完全相同的命令,传递了完全相同类型的参数,但一个从单元格中检索数据,而另一个则没有。如果归根结底,我正在将其复制到另一个环境中以进行上传。
这两个字符串旨在相互比较,如果它们不匹配,则连接并输出到复制的工作表中。根据我的输出和我自己的调试,我发现它会在第一个电子表格上找到值,但在静态电子表格上OURS.xlsx
,即使它访问包含完全相同数据的单元格,它也会保持为空,因此被认为不匹配。
有没有其他人看到这个问题?
编辑1:澄清了一些问题。
编辑 2:我知道必须打开两个工作簿才能以这种方式访问它们,并且我向您保证在脚本运行期间都打开了它们。
编辑 3:我已经逐步完成脚本,直到它传递参数以访问值。我已经检查了两个正在传递的单元格中的值,它们确实匹配,但是没有正确地从工作簿中拉出一个。