人がエクセルに文字を入力するときは、マウスで入力したいセルをクリックしてキーボードから入力しています。
では、この動作をコンピュータはどのように理解しているのか?
まずはセルの選択について見ていきましょう。
サンプルダウンロード
実際の動きを見るのが一番です。
ダウンロードをして、ボタンをクリックするだけの簡単サンプルを用意しています。
セルを指定する
2つのタイプがあります。
・Range(“場所名”)
・Cells(“位置名”)
1つのセルを指定するならばどちらでも結果は同じです。
違いは何か。
Rangeは範囲を選択するときに便利です。
Cellsはプログラム処理をするときに扱いやすい。
プログラムを学ぶため、基本はCellsを使って指定することに慣れましょう!
<例>どちらも同じセルを特定しています。
Range(“B3”)
Cells(3,2) →3つ下に下がって、2つ右にあるのが”B3”セル
Cellsでセルを指定するときは「 “↓” の次に “→” の順番」で数えることを覚えましょう。
<例>
Range(“B4”) → Cells(4,2)
Range(“D8”) → Cells(8,4)
このセルのことをオブジェクトと呼びます。
文字列を入力する
キーボードから文字入力をしますが機械はどのように認識しているのでしょうか?
機械は ”” で囲われたモノを文字と認識しています。
ですので、プログラム上で文字を書きたい場合は “” の間に書いてあげましょう。
<例>
“こんにちは”
文字をセルに入れたい時に、属性を指定してやる必要があります。
Range(“B3”).Value
どういうことかというと、 ”こんにちは” には
文字内容:こんにちわ
文字数:5
文字色:黒
など、様々な情報があります。
情報は適切な属性に入れてやるルールがあるのです。
データ属性のことをプロパティと呼びます。
文字を連結させる
2つのセルの文字を連結させたり、数式と組み合わせたいときがあります。
そんなときは文字を連結させる & でセルや数式を繋げてあげることができます。
<例>
Range(“C3”) = Range(“A1”) & Cells(2, 2) & “←つなげた“
範囲を指定する
範囲指定は Range を使います。
Range(“開始場所(左上端のセル名):終了場所(右下端のセル名)”)
開始場所と終了場所の間は : で区切ります。
<例>
Range(“A1:C3”)
指定したセルにアクションを加える
もしすでにセルにデータがあり、削除したい場合はどうするのか?
セル に .アクション名 を記載してやります。
<例>
A1~C3のデータを削除する場合は、
Range(“A1:C3”).Clear
このアクションのことをメソッドと呼びます。
まとめ
・セルを指定する(オブジェクト指定)
・入力データに適したセル属性を指定する(プロパティ指定)
・セルにアクションを加える(メソッド指定)
この概念をまずはイメージできることが大事になります。
用語として
オブジェクト:VBAで操作しようとする対象のこと
プロパティ:オブジェクトの性質を現すデータのこと