VBAのoffsetプロパティ。あるセルを起点にして、上下左右のセルへ指定しただけ参照位置を移動する、というこのプロパティなのですが、
最近、結合セルが間に入ってくると、ちょっと通常とは違う、というかわたしが思い込んでいた挙動とは、違った参照の仕方をするんだな、
ということを知り、VBAでは久しぶりに【へぇ~】という感じでした。…相変わらず、自身の語彙力の無さ、表現力の拙さに愕然としてしまいますが(TT)。
例を挙げると、例えばa1からc1が結合セル、d1からf1が結合セル、g1からi1が結合セル、j1からl1が結合セル、というようなセルの並びだと
offset(0, 3) と
offset(0, 1).offset(0, 1).offset(0, 1) は
参照する場所が違うんですね。結合セルが間に入っていなければ、↑の2例はどちらも同じ場所を参照するはずなので、
この事実は個人的にちょっとしたカルチャーショックでした(笑)。ま、マジメな話、ちょっと勉強になりましたけどね~(^^)。VBAも、まだまだわたしが知らないことがたくさんあるようで…。
最近、結合セルが間に入ってくると、ちょっと通常とは違う、というかわたしが思い込んでいた挙動とは、違った参照の仕方をするんだな、
ということを知り、VBAでは久しぶりに【へぇ~】という感じでした。…相変わらず、自身の語彙力の無さ、表現力の拙さに愕然としてしまいますが(TT)。
例を挙げると、例えばa1からc1が結合セル、d1からf1が結合セル、g1からi1が結合セル、j1からl1が結合セル、というようなセルの並びだと
offset(0, 3) と
offset(0, 1).offset(0, 1).offset(0, 1) は
参照する場所が違うんですね。結合セルが間に入っていなければ、↑の2例はどちらも同じ場所を参照するはずなので、
この事実は個人的にちょっとしたカルチャーショックでした(笑)。ま、マジメな話、ちょっと勉強になりましたけどね~(^^)。VBAも、まだまだわたしが知らないことがたくさんあるようで…。