[Range].MergeAreaプロパティの返り値の謎(Excel)
[Range].MergeAreaプロパティの返り値の謎
単にRange
オブジェクトのことがよく分かっていないだけかも知れないが、恥を承知で書く。
MergeAreaプロパティの返り値
こんなシートがあったとする。
J1セルとJ2セルが結合されている。
したがって、J1セルのMergeArea
プロパティとJ2セルのMergeArea
プロパティとは、同じRange
オブジェクトを返すはずだ。
で、イミディエイト・ウインドウに
?range("J1").MergeArea = range("J2").MergeArea
と入力して[Enter]をポチッ。
あっ、非常に素人臭いことをしてしまった……(いや、素人なんですけどね)。
気を取り直して、イミディエイト・ウインドウに
?range("J1").MergeArea is range("J2").MergeArea
と入力して[Enter]をポチッ。
ファッ!?
False
が返るんすかーーー?!
Addressプロパティで比較する
ならばと今度は、Address
プロパティを調べてみる。
イミディエイト・ウインドウに、
?range("J1").MergeArea.Address
?range("J2").MergeArea.Address
と入力して、それぞれ結果を見てみると、
ごく当り前の結果が出ている。
当然、
?range("J1").MergeArea.Address = range("J2").MergeArea.Address
だと、
となる。
おわりに
あるセルと別のあるセルとが同じ結合セルに含まれているかどうかを判定するには、MergeArea
プロパティの返り値であるRange
オブジェクトの何らかのプロパティの助けを借りねばならんのだろうか。