2017-02-28 104 views
2

我在寫一個簡單的程序來合併不同工作表中的單元格。 我寫了這個代碼如何在工作表對象中使用範圍對象

Dim ws as worksheet 
Set worksheet = sheets ("sheets2") 
ws.range (cells (1,1),cells (1,5)).merge 

這不是工作和錯誤出現說對象的工作表的方法範圍失敗 請幫我這個 謝謝

+1

不要合併單元格!導致問題沒有結束。 – SJR

+3

你已經定義了'ws'並使用了'工作表'...使用'Set ws = Sheets(「Sheets2」)''。 'ws.range'引用'Sheets2',但'cells(1,1)'引用活動工作表 - 使用'ws.cells(1,1)'。另外.....你確定它是'sheets2'而不是'sheet2'嗎?另外....不要合併單元格!不會導致問題的結束(使用中心而不是選擇)。 –

回答

5

嘗試這樣的:

Option Explicit 

Sub TestMe() 

    Dim ws As Worksheet 

    Set ws = Sheets("sheets2") 
    With ws 
     .Range(.Cells(1, 1), .Cells(1, 5)).Merge 
    End With 

End Sub 

範圍對象在Excel中有點困難,並且當您引用單元格時,還應該引用表單。

看看微軟的例子,他們是很好的: https://msdn.microsoft.com/en-us/library/office/ff838238.aspx

特別是第三注: 請注意,在單元格屬性的每次出現前的時期。如果將前面的With語句的結果應用於Cells屬性,則此時段是必需的 - 在這種情況下,指示單元格在工作表1上(沒有句點,Cells屬性將返回活動工作表上的單元格) 。

+0

@Shai Rado - yup – Vityata

+1

@ShaiRado - 在我的情況下,我只是寫在記事本++ – Vityata

+0

Vityata - 你是心靈感應嗎? – SJR