有没有一种简单的方法来解决这种意想不到的行为。我的理解是,关于合并的单元格,偏移量的引用基于整个单元格,合并的单元格被视为一个单元格而不是多个单元格。
在您的实例中,如果Range("B1:C1")
合并然后下一列(即Offset(0,1)
)是柱D. Excel中从视觉角度来看下一列是沿着列d和不柱观看合并范围为单细胞等C.在我看来,这可能会让人困惑。
合作解决这个问题的最好办法是避免使用合并单元作为标题,而是使用Centre Across Selection
格式:
1)德合并范围(“B1:C1”)
2)选择范围( “B1:C1”)>格式>单元格
3)水平对话框中选择 '跨列居中'
如果你这样做,那么下面的代码将工作:
Sub GetOffsets()
Dim rng As Range
Set rng = Range("B1")
Debug.Print rng.Offset(1, 0) // H2
Debug.Print rng.Offset(2, 0) // 1
Debug.Print rng.Offset(3, 0) // 3
Debug.Print rng.Offset(1, 1) // H3
Debug.Print rng.Offset(2, 1) // 2
Debug.Print rng.Offset(3, 1) // 4
End Sub
有什么意义?范围(“B1:C1”)。offset(1,1)IS范围C2:D2,但如果B1:C1合并,则它们的偏移量(1,1)为D2。如果不清楚,请尝试使用键盘:单击合并的单元格,按向右箭头,然后向下箭头。 – 2010-12-14 15:53:39