ビデオ: エクセルVBAの変数の使い方・作り方を解説|合否判定マクロの作り方4 2024
変数は、遭遇するExcelマクロの大部分で大きな役割を果たします。あなたのプロシージャで使用できるメモリコンテナとして 変数 を考えることができます。さまざまなタイプの変数があり、それぞれが特定のタイプのデータを保持しています。
文字列:
-
文字データを保持 整数:
-
-32,768から32,767,999までの数値データを保持します。 > <! - 1 - >
Long: -
-2,147,483,648から2,147,483,647までの数値データを保持 Double:
-
浮動小数点数値データを保持< Variant: 任意の種類のデータを保持
-
Boolean: TrueまたはFalseを返すバイナリデータを保持します。
-
オブジェクト: Excelオブジェクトモデルからオブジェクトを保持します。マクロ内の変数は、
-
変数 を宣言しています。
Dim(Dimensionの省略形)を入力し、次に変数名、次にタイプを入力します。たとえば、 <! ----------- 文字列としてDim MyText Dim IntegerとしてMyNumber Dim MyWorksheetをワークシートとして使用する 変数を作成したら、データで埋め込むことができます。次に、変数を作成して値を割り当てる方法の簡単な例を示します。
Dim MyText as String MyText = Range( "A1")。値Dim MyNumberを整数MyNumber =範囲( "B1")。値* 25ワークシートとしてのMyObjectの設定MyWorksheet = Sheets( "Sheet1")変数に割り当てる値は、セルに保存されているデータから得られることがよくあります。ただし、値は作成した情報でもかまいません。それはすべて手元の仕事に依存します。この本のマクロを読むと、この概念はより明確になります。
<!変数を使用しないコードを作成することは可能ですが、変数
が使用されるVBAコードの多くの例に遭遇します。これには主に2つの理由があります。
まず、Excelは本来あなたのデータがどのような目的で使われているのかを知りません。数字、記号、文字は表示されません。データだけが表示されます。特定のデータ型を持つ変数を宣言すると、Excelが特定のデータをどのように処理してマクロが期待した結果を生み出すかを知ることができます。
第二に、変数はコードをより効率的に理解しやすくすることによって役立ちます。たとえば、マクロで繰り返し参照しているセルA1の数値があるとします。Sub Macro1()Range( "B1"):必要になるたびに、セルA1をポイントすることでその数値を取得できます。値=範囲( "A1")。値* 5範囲( "C1")。値=範囲( "A1")。値* 10範囲( "D1")。値=範囲( "A1")。Value * 15 End Sub ただし、このマクロは、セルA1をポイントするたびにExcelにメモリ内の同じ番号を格納するサイクルを無駄にします。また、ターゲット番号がA1セルにはなくA2セルに変更されるようにブックを変更する必要がある場合は、すべての参照をA1からA2に変更してコードを編集する必要があります。 セルA1に番号を1回だけ格納するのが良い方法です。たとえば、セルA1の値をmyValueというInteger変数に格納できます。
Sub WithVariable()Dim myValue As Integer myValue = Range( "A1")。値の範囲(「C3」)。値= myValue * 5範囲( "D5")。値= myValue * 10範囲( "E7")。 Value = myValue * 15 End Sub
この方法では、コードの効率が向上するだけでなく(ExcelがセルA1の数値を1回だけ読み取るようにする)、ブックのデザインが変更された場合でも1行を編集する必要があります。