工作表变量Excel VBA运行时错误'13'类型不匹配

问题描述:

当试图将我的'remSheet'变量设置为newQuery工作簿的工作表1时,我不断收到上面提到的'类型不匹配'错误。 脚本的开头如下所示。最后一行是导致错误的行工作表变量Excel VBA运行时错误'13'类型不匹配

Sub importNewPTRs() 
Dim masterWorkbook As Workbook 
Set masterWorkbook = ThisWorkbook 
Dim newQuery As Workbook 
Set newQuery = openWorkbook 
Set newQuery = ActiveWorkbook 
Dim remSheet As Worksheet 
Set remSheet = Sheets(Sheet1) 

我已经看过解决这个特定的错误信息的其他问题的解决方案,他们没有帮助。我也尝试设置remSheet = newQuery.Sheets(Sheet1),这也没有帮助。 谁能告诉我我做错了什么?

+3

'Set remSheet = Sheets(“Sheet1”)'你需要通过名称来识别,而不是代号。 – Jeeped

+1

这是一个很好的做法,当设置工作表时也声明父工作簿:'Set remSheet = masterWorkbook.Sheets(“Sheet1”)'或'Set remSheet = newQuery.Sheets(“Sheet1”)' –

你需要或者用床单位置Index(如果它是在第一片1,第二片2 ...)或Name,因为它出现在标签。你的Sheet1变量不是任何东西,并导致你的错误。

+0

实际上,'Sheet1'是第一张工作表的默认CodeName,但不像OP所使用的那样使用它。 – Jeeped

+0

@接受你是对的。这就是为什么我建议使用索引或名称属性。总有一种方法可以完成某件事情。 – IvenBach