2017-03-03 132 views
0

當試圖將我的'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」)' –

回答

0

你需要或者用牀單位置Index(如果它是在第一片1,第二片2 ...)或Name,因爲它出現在標籤。你的Sheet1變量不是任何東西,並導致你的錯誤。

+0

實際上,'Sheet1'是第一張工作表的默認CodeName,但不像OP所使用的那樣使用它。 – Jeeped

+0

@接受你是對的。這就是爲什麼我建議使用索引或名稱屬性。總有一種方法可以完成某件事情。 – IvenBach

相關問題