2017-06-30 147 views
0

我有工作表1活動,並且我試圖對工作表2中的某些單元格執行合併操作,但是我得到'Method'範圍的對象'_Worksheet'失敗''錯誤。Excel - VBA在單獨的工作表上合併單元格

Dim rawData As Worksheet 

For i = 2 To 12 Step 2 
    rawData.Range(Cells(2, i), Cells(2, (i + 1))).Merge 
Next i 

但是,如果我事先插入rawData.Activate行,它的確行得通。沒有任何方法可以在不激活表單的情況下完成此操作?

+0

相關:[是。在.Cells中定義時需要.Range?](https://stackoverflow.com/questions/36368220/is-the-in-range-necessary-when-defined-by-cells) – Jeeped

回答

2

範圍/沒有限定工作表的單元總是引用活動頁(除非在工作表代碼模塊中,它們指的是該工作表)。

只要可能,應儘量避免使用/依賴默認行爲(即在代碼運行時依賴某個表單處於活動狀態)。

Dim rawData As Worksheet 

With RawData 
    For i = 2 To 12 Step 2 
     .Range(.Cells(2, i), .Cells(2, (i + 1))).Merge 
    Next i 
End With 
相關問題