エクセルマクロ備忘録

マクロ学習備忘録

〜オブジェクト : Cells〜

まだまだ一歩目の途中


というわけで今回はCellsについて。


【説明】

以下は、A2セルに"VBA日記"と入力するマクロです。


Cells(2,1) = "VBA日記"


前回のRangeと違う点は、

1. アルファベットは使わない

2. ()内は「行番号(縦),列番号(横)」

という点です。


Rangeが「ここ!」だったのに対し、Cellsは「縦○番目、横○番目のセル」という意味になります。

また、CellsはRangeと異なり、複数指定はできません。複数のセルに操作をする場合は、操作するセルの数だけマクロを書く必要があります。

何だよ、複数指定もできないんならRangeでいいやん、と思われるかもしれませんが、その点については後々書く予定の変数を用いる時に詳しく。業務の自動化、という事を考慮すると、Rangeだけでは対応しきれない(し辛い)事は多々出てきますので…。


【実践】

実践、というよりも、RangeとCellsを組み合わせて使う時の記述を書きます。

以下は、A1セルからD8セル迄の全てのセルにVBA日記"と入力するマクロです。


Range(Cells(1,1) , Cells(8,4)) = "VBA日記"


こんな具合です。

Rangeの時書いた通り、Rangeは「範囲」です。セルの番地名で指定できるときは()内を"A1:D8"とすればいいですが、そうもいかない場合もあります。

という時に、Rangeの範囲をCellsで指定してやるのが上記のセンテンスになります。

Rangeの()内に、「左上端のCells , 右下端のCells」を入れてやります。番地名指定の時と比べると、""がなく、: が , になってますね。


RangeとCellsは、同じような使い方ができる分混同しがちですが、意味も性質も全然違います。マクロを組んで、実行してみて、感覚的に理解できるようにすると、後々楽になります。


というわけで、今回はここまで。