Excel-VBA:Offset的奇怪行为

当我尝试抵消范围时遇到一些奇怪的行为。

在新文档的直接窗口中,我可以执行以下操作:

?Range("A15:A16").Offset(-8).Address 

它返回:

 $A$7:$A$8 

正如它应该。

但是,在我目前的工作簿中,相同的代码只返回$ A $ 7。 以下代码的工作原理应该如下:

 ?Range("A15,A16").Offset(-8).Address 

(退还$ A $ 7,$ A $ 8)

 ?Range("A15:A17").Offset(-8).Address 

(返回$ A $ 7:$ A $ 9)。

有没有一个设置,我错过了,导致这种奇怪的行为? 特别是因为它在一个新的工作簿中正常工作。

提前致谢。

我已经search了这个问题的答案好几天了,只要我发布了问题,我find了解决scheme。 原来这些单元格被合并为2个集合。该偏移量仅返回合并集合的第一个单元格的地址。