2011-11-17 77 views
3

假設我有兩個合併的單元格,比如說Sheet1!$A$1:$B$1如何使用VBA更新合併單元格中的文本?

而且可以說有一段文字居中在兩個單元格中間。如何以編程方式使用VBA更新該值?我有一個帶按鈕的簡單用戶表單,點擊按鈕後,我想要更新單元格。

我試過抓住範圍,但似乎沒有工作。

回答

5

如果已合併單元格,則只能通過引用最左上角的單元格來編輯合併單元格的值。

所以,如果A1和B1被合併,更改日期的唯一途徑是:

Range("A1").value = "data"

或者

Cells(1,1).Value = "data"

調用Range("B1").Value = "data"不會改變的可見文本。

0

您可以設置第一個單元格的值並更新文本。

Worksheets("Sheet1").Cells(1,1).Value = "New Value" 
12

除了其他的答案,這是值得注意的是,你還可以使用MergeArea通過兩種細胞的更新:

Range("A1").MergeArea.Value="New value" 
Range("B1").MergeArea.Value="New value" 

如果小區不合並,然後它會忽略的MergeArea( 。即它把它像一個單元合併區域...)

+0

+1樂有什麼新的 –

+0

謝謝,這對我很好! –

+0

親愛的@Tim,這讓我無法拍攝使用合併單元格的傢伙 –

0

使用此功能,如果你需要引用可能會或可能不會是一個合併範圍部分的細胞:

Function Reference_cell_even_if_merged(Cell_Range As Range) As Range 
If Cell_Range.MergeCells Then 
    Set Reference_cell_even_if_merged = Cell_Range.MergeArea 
Else 
    Set Reference_cell_even_if_merged = Cell_Range 
End If 
End Function 
相關問題