Excel VBA加载项代码抛出类型不匹配错误

时间:2015-09-29 15:57:51

标签: excel-vba type-mismatch vba excel

我们开发了一个插件,用于将新系统中的帐号/名称和成本中心编号/名称等内容翻译成旧系统,反之亦然。直到今天我才开始遇到类型不匹配错误(运行时错误13)。

我们的插件有多张纸。用于分支的1张表,用于帐户的1张表等。用于进行翻译的表单访问适当的表以检索数据以进行翻译。以下是几个变量及其声明方式:

Public UB as long
Public ThisAddIn as string

ThisAddIn = "TranslateAddIn.xla"

'Below is the part of the code that is causing the error.

UB = Workbooks(ThisAddIn).Worksheets("Branches").Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row

我已经检查了"分支"表格中没有任何与此表格中的数据有任何不寻常之处。

我不确定发生了什么。这段代码已经工作多年而没有任何问题。

任何建议都将不胜感激。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

尝试在find方法中完全限定范围对象。类似的东西:

Public UB as long
Public ThisAddIn as string

ThisAddIn = "TranslateAddIn.xla"

'Below is the part of the code that is causing the error.

With Workbooks(ThisAddIn).Worksheets("Branches")
    UB = .Cells.Find("*", .Range("A1"), , , xlByRows, xlPrevious).Row
End With

答案 1 :(得分:-2)

遗憾的是,您无法通过名称引用其他工作簿中的工作表,而应使用索引。