Excel VBAの第一歩、主な概念を知ろう

Cellsの使い方

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Cellsは、行と列の位置を数値で指定することで、セルを指し示す書き方です。Cellsの使い方を覚えましょう。
講師:
07:55

字幕

このレッスンではCells の使い方について解説します。Cells の使い方定案は何かというとRange と Cells の使い分けの話です。基本的なことですのでしっかり認識してください。セルを指し示す時の基本的なやり方はRange 何々、Cells 何々この 2 つです。Range の方は C の 2 などの様にセルのアドレスを文字列で指定します。一方の Cells は 2 の 3 などの様に行、列の位置を数字で指定します。両者には、この様な違いがあるんですね。さて、ちょっと考えてください。VBA というのは自然発生的に生まれたものではありません。種を蒔いて水をやったら VBA が咲いてきた。そんな訳はありませんね。おそらく Microsoft の社員でしょう。誰かが何かの設計思想を持って作ったんです。VBAは。では、何故、この VBA を作った人はRange と Cells の 2 つを用意してくれたのでしょう。それには理由があります。それぞれの特徴をよく見るとどんな時にどちらを使うべきかそんな設計思想が見えてきます。Range は Cells を文字列で指定します。文字列というのは計算できない値ですね。 田中 + 鈴木は計算できません。一方の Cells は行、列の位置を数字で指定します。言うまでもありません。数字は計算できる値です。つまり計算しなくてよい時の Range と計算をしなければいけないと時の Cellsこの 2 つを用意してくれたんだということが分かります。ここから Range と Cells の使い分けはこの様に考えることができます。例えばマクロのコードを書いている時点で対象のセルがもう確定しているA の 1、B の 3、C の 4セルが分かっている様な時、つまり計算をしなくてもセルが特定できる様な時はそれ用に用意されている Range を使うのがVBA の設計思想にのっとった使い方だと言えます。一方で何らかの計算を行わなければセルを特定できない様な時変数を使う等というのも計算の一種です。その様な時にセルを指し示す時にはそれ用に用意されている Cells を使うのがVBA の設計思想にのっとった使い方だと言えます。具体的な例をお見せしましょう。設計思想にのっとった適切な使い方というのはもしコードを書く時点でB の 3 と分かっているのであれば特別な理由がなく、それをCells 3 の 2 と書くのではなくてRange を使って Range B の 3と書くのが設計思想にのっとっている使い方です。 或は繰り返しの命令で使う変数 i を使ってセルを順番に操作する様な時この時実は Range を使って文字列を結合するというやり方もできます。できますが、それは VBA の設計思想にのっとった使い方とは言えませんね。何故なら変数を使う等計算によってセルを特定する時にはそれ用に用意されているCells があるからです。この様に Range と Cells を使い分ける基準が見えてきます。しかしここで疑問を感じる方もいるでしょう。例えばワークシートの A 列 B 列 C 列その程度の表だったら確かに Cells 1 列目 2 列目 3 列目と数えやすいですが非常に横の大きい表になってくるとCells を使って表すと例えばCells i の 42 などという記述をしなければならなくなります。これは分かりにくいですよね。或はマクロを書いていてAP 列は果たして何列目になるんだろうか。数えるのは大変ですね。つまり ABC 列では済まない様な横がうんと広い表を使う時の場合はCells i の 42 といった書き方ではなくRange AP&i と書いた方がコードの可読性が高まるのではないか。この様に感じる方もいらっしゃるでしょう。 そう思った方は是非 Cells のヘルプをご覧になってください。これは Cells のヘルプの抜粋です。Cells は括弧して行、列を指定します。その内の列、右側にどんなことを書くのか指定するかということがヘルプに記載されています。読んでみましょう。範囲の最初の列を、つまりワークシートの一番左端を、ということです。1 又は A として通常は A 列で始まりますね。アクセスする。つまり指し示すということです。セルの列番号をワークシートは A 列 B 列 C 列となっていますがExcel では、あれを列番号と呼びます。そして、ここからが問題です。列番号を示す数字または列文字を指定します。とヘルプに書いてあります。つまりヘルプを読むとCells は例えば 1 の A という書き方ができるということが分かります。AP 列だったらどうするかどうするかじゃありません。書けばいいんです。Cells i の AP と書ける。この様にヘルプに記載されているからです。何故、この Range と Cells の使い分けの話をこの Cells の解説でしているかというとCells の列の部分にアルファベットを指定できる、というのがポイントだからです。 もし仮に Cells の列のところが数字しか指定できなかったらこれは話が別です。VBA で最も重要なことはコードの可読性です。いかに読み易く書くかが重要です。そうであるならば、多少設計思想やVBA の速度を犠牲にしてでもAP&i の様な読み易さを重視するべきですがところが Cells には列番号にアルファベットを指定できるという特徴があります。従って設計思想にのっとった考え方変数等を使う計算によってセルを特定する時はCells を使うという原則が導き出されます。このレッスンではRange と Cells の使い分けについて解説しました。

Excel VBAの第一歩、主な概念を知ろう

マクロの自動記録の機能は便利ですが、VBA (Visual Basic for Applications)を使って自分でマクロを作れるようになるには基礎から学習するしかありません。このコースではVBAの概念とその基礎知識から、実務において実際に役立つマクロの作成の仕方まで順を追って解説します。

2時間19分 (31 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 1,990
発売日:2014年01月13日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。