ExcelVBA(マクロ)で左右のセルを操作する方法/Next、Previousプロパティの使い方

siblings IT

Valueプロパティが今現在選択しているセル(Rangeオブジェクト)の値だとして、Nextはそのひとつ右、Previousはひとつ左の値を意味するプロパティです。
つい書きそうになりますが、Activecell.Next.Valueのように書く必要はありません。
一目でわかるシンプルさが強みですが、上下左右操作できるOffsetプロパティというのもあり、そちらのほうが汎用性は高いです。

スポンサーリンク

Next、Previousプロパティの使い方

右隣りのセルの値を取得/代入
対象.Next

左隣りのセルの値を取得/代入
対象.Previous

next1
B1セルに何か入力し、ここを選択しておきます。
next2
ActiveCell.Next = ActiveCell.valueのように書いて、実行してみると……。
next3
アクティブセルのひとつ右に対して、アクティブセルの文字列がコピーされます。
next4
同様にActiveCell.Previous = ActiveCell.valueのように書くと、
next5
こうなります。Next = 「次」、Previous = 「前」です。
next6
他にも、変数sayuに対してActiveCell.Previous & ActiveCell.Value & ActiveCell.Nextを代入して、これをD1に表示すれば、
next7
こんな感じで文字列をつなげて表示することもできます。
next8
真ん中を選ぶ必要があるというのがちょっとアレですが、たとえば住所くっつけたりもできます。
' vba
Dim sayu
sayu = ActiveCell.Previous & ActiveCell.Value & ActiveCell.Next
Range("D1").Value = sayu

関連記事

やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント