B1の一つ右隣を指定する方法
先日、職場の勉強会で、あることに気づかせてもらった話を紹介した。
infoment.hatenablog.com
実はこの時もう一つ、気付かせてもらった話がある。
といっても、言われてみれば、当たり前の話。社内勉強会に参加されたその方は、例えばB1の一つ右隣(つまりC1)を指定するとき、このように表現したのだった。
Sub Hoge() Range("B1").Offset(ColumnOffset:=1).Select End Sub
私の中では、↓が定番となって既に久しい。
Range("B1").Offset(, 1).Select
行方向は移動が無いので、オフセット量は0。0の場合は省略できる。そして右はプラス方向。だから一つ隣は1と成り、.Offset(, 1) となる。
しかしこの方のように「名前付き引数」を使用すれば、「ColumnOffset」を見て、直感的に列方向のオフセットだと気づくことができる。若しくは推測できる。ポロポロと、目から鱗が落ちた。(, 1) に比べ、随分分かり易いと感じた。
(ただし、文字数は一番多くなる)。
ちなみに、他にも色々と表現方法がある。
Sub Hoge() Range("B1").Offset(, 1) = 1 Range("B1").Offset(0, 1) = 2 Range("B1").Offset(ColumnOffset:=1) = 3 Range("B1").Range("B1") = 4 Range("B1").Cells(1, 2) = 5 Range("B1").Cells(ColumnIndex:=2) = 6 End Sub
きっと、他にもあると思う。
どの方法を採用するかは各位、時と場合とお好みで。
参考まで。