2014-05-21 109 views
0

除了我想用cells而不是range以外,我怎样才能做同样的事情?这将允许我引用(行,列)格式的单元格。使用vba合并单元格

ActiveSheet.Range("A1:A5").Merge 

回答

0

你可以使用以下方法来返回指定单元格的单元格地址。然后使用存储的字符串的地址来表示合并范围:

Sub merge() 

    Dim cell1, cell2 As String 

    cell1 = Cells(1, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) 

    cell2 = Cells(5, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) 

    ActiveSheet.Range(cell1 + ":" + cell2).merge 

End Sub 
+0

Rory的解决方案要好得多。 – user2627546

0

你可以使用:

Cells(1, 1).Resize(5).Merge 

或:

Range(Cells(1, 1), Cells(5, 1)).Merge 
0

定义范围变量

Excel.Range range = ActiveSheet.get_range(ActiveSheet.Cells[1,1], ActiveSheet.Cells[1,4]); 
range.Merge();