0

我已经使用 vba 一段时间了,我注意到一个烦人的错误。当我在宏中使用超过 1 张工作表时,如果我设置工作表,一切正常,直到出现错误。之后,工作表名称被弄乱了,通常使用两个声明作为一张表。

Dim loc_path, sp_path As String
Dim loc_wb As Workbook
Dim sp_wb As Workbook
Dim loc_ws As Worksheet
Dim sp_ws As Worksheet


loc_path = "path1"
sp_path = "path2"
Set sp_wb = Workbooks.Open(sp_path, ReadOnly:=False)
Set sp_ws = sp_wb.Sheets(1)
Set loc_wb = Workbooks.Open(loc_path, ReadOnly:=False)
Set loc_ws = loc_wb.Sheets(1)

之后,我只需调用另一个宏并传递工作表或工作表。在一个示例中,我仅将 sp_ws 传递给宏并在 msgbox 中显示第一个单元格值。在出错之前它工作正常,但是在出错之后如果我再次运行它,它将显示 loc_ws 表的第一个单元格值。

我的代码有什么问题还是只是 VBA 中的一个错误?

4

0 回答 0