2017-04-26 12 views
1

範囲をオフセットしようとすると、いくつかの奇妙な動作が発生します。返しExcel-VBA:オフセットの奇妙な動作

?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 

(戻り7 $ A $:$ A $ 10)。

この奇妙な動作の原因となる設定がありますか?特に、新しいワークブックではうまく動作するためです。

ありがとうございます。

+0

A15:A16がマージされた場合、望ましくない動作が繰り返されるようです。 – Zerk

答えて

2

私は、この問題の答えを日々検索しました。すぐに私が解決策を見つけました。セルが2のセットでマージされていることが判明しました。オフセットは、マージされたセットの最初のセルのアドレスのみを返します。

+0

マージ元のセルの場合は、Range( "A15")を使用できます。オフセット(-8、0).Resize(2、1) ' – Jeeped