非表示にできる< 目次 >
学習パート
本記事のパートでは『Chapter 2 -知識・基本動作』を説明します。
これまでの学習パート
本学習パートまでに以下のパートを完了させましょう。
Chapter 2 -絶対におさえておく基本知識
おさえておく基本知識は3つ
①レンジとセルの基本(重要)
EXCEL関数を利用する際、よく目にするかと思いますが、
制御したいセルを特定しなければ 何も出来ません。
VBAでは 「Range」と「Cells」という2つの表現方法で セルを特定させます。
このパートではセルの特定方法(位置関係)を理解するために、
EXCELセル上にVBA上でのコードを記載し表現します。
VBAコード上でのセルの表現の仕方
VBAコード上でのレンジの表現の仕方
<EXCEL表現> <VBAコード上での表現>
A1:B3 = Range("A1:B3")
= Range("A1”,”B3")
= Range(Cells(1, 1), Cells(3, 2))
②コード構文の基本
VBAのセルに対するコード構文は2つだけです。
<構文の種類>
1.プロパティ構文
構文:対象(オブジェクト).属性(プロパティ)=値
2.メソッド構文
-SV系-
構文:対象(オブジェクト).動作(メソッド)
メソッド構文は英語の文法と同じです。
S(主語)+V(自動詞)形式のSV系や
S(主語)+V(他動詞)+O(目的語)形式のSVO系で 表現されているからです。
プロパティ構文とメソッド構文で覚えておくこと
③文字列の扱い方の基本(個人的に最初に知りたかったもの)
EXCELの関数と同じように VBAでも文字列として扱うものは
「" (ダブルコーテーション)」で文字列を囲います。
EXCEL関数の IF文を使用する人はイメージが付きやすいと思います。
EXCEL VBAも 「EXCEL」なので、
文字列の扱いは 関数で使用する方法と同じであると考えてください。
知ってしまえば簡単だけど、
VBA参考書で登場するのは 意外と後ろの方だったので
このタイミングで覚えておくと とても良いと思います。
Chapter 2 - VBEに直接コードを入力
コードのみの記載だけだと難しく感じるかもしれませんが、
VBEにコードを直接入力し 実際に動くことを体験してみると理解がはかどると思います。
VBEに以下のコードを入力しVBAを実行してみましょう。
1 2 3 4 |
Sub Macro1() Range("A1").Value = "Hello!VBA!" Cells(3, 1).Value = "Hello!World!" End Sub |
VBEに直接入力したコードが、
EXCELに作用していることが分かるかと思います。
余談:プログラム入門にVBAは最適
Chapter 2 -Sub~EndSub
このルールにより、複数のプログラムを作成する際は
以下のように作成することができます。
Chapter 2 -コピーと貼付
「A1セルをコピーしてB1セルに貼付する」で説明します。
構文によって書き方が異なります。
◎プロパティ構文の場合
1 2 3 4 5 6 7 8 |
Sub プロパティ構文の場合() Range("B1").Value = Range("A1").Value '↓これも同じ意味 'Cells(1,2).value = Cells(1,1).value End Sub |
◎メソッド構文の場合
1 2 3 4 5 6 7 8 |
Sub メソッド構文の場合() Range("A1").Copy Range("B1") '↓これも同じ意味 ' Cells(1,1).Copy Cells(1,2) End Sub |
Chapter 2 -値の削除
1 2 3 4 5 6 7 8 |
Sub プロパティ構文の場合() Range("A1").Value = "" '↓これも同じ意味 'Cells(1,1).value = "" End Sub |
◎メソッド構文の場合
1 2 3 4 5 |
Sub メソッド構文の場合() Range("A1").Clearcontents End Sub |