この記事では、VBAで使用されるさまざまな種類の変数とその使用方法について学習します。

image

VBA変数とは何ですか?

VBAは、Visual Basic forApplicationsの略です。これは、Microsoftのプログラミング言語です。これは、MSExcel、MS-Word、MS-AccessなどのMicrosoft Officeアプリケーションで使用されますが、VBA変数は、コンピューターのメモリまたはストレージシステムに格納される特定のキーワードです。後で、コードの値に使用して実行できます。オペレーターはその値をシステムからフェッチし、出力として表示します。各変数には名前を付ける必要があります。この記事では、VBA変数の基本について説明します。各セクションには、簡単で便利な例を含む関連トピックが含まれています。

VBA変数の命名に関するいくつかのルール:

。最初の文字は文字でなければなりません。

。長さは255文字を超えることはできません。

。 space()、period(。)、感嘆符(!)、@、&、dollar($)、hash char(#)などの文字。

。 VBAの事前定義された予約済みキーワードの1つにすることはできません。

構文:

Sub Demo()  Dim var_name As data_type End Sub

さまざまなデータ型とその使用法について詳しく学びましょう。 Excelは、数値と非数値の2種類のデータ型を読み取ります。

値の範囲を持つ数値データ型:

。バイト(0から255)

。整数(-32,768〜32,767)

。長い(-2,147,483,648から2,147,483,648)

。シングル(-3.402823E + 38〜-1.401298E-45)&(1.401298E-45〜3.402823E + 38)。

。ダブル(-1.79769313486232e +308から-4.94065645841247E-324)&(4.94065645841247E-324から1.79769313486232e + 308)。

。通貨(-922,337,203,685,477.5808から922,337,203,685,477.5807)

。小数点以下(小数点以下28桁まで)

非数値データ型:変数スコープと有効な名前

。文字列(固定長および長さ範囲1〜65,400文字)

。文字列(可変長および長さ範囲0〜20億文字)

。ブール値(TrueまたはFalseのいずれか)

。日付(100年1月1日から9999年12月31日までの範囲)

。オブジェクト(任意の埋め込みオブジェクト)

。バリアント(数値およびDoubleまでの任意の値)

。バリアント(テキスト&可変長文字列と同じ)

VBAでは、変数を使用する前に、名前とデータ型を割り当てて変数を宣言する必要があります。 VBAでは、変数は暗黙的または明示的に宣言されます。

Implicitly *:以下はImplicitlyで宣言された変数の例です。

label = exceltip.com page = 4明示的に:以下は、明示的に宣言された変数の例です。

Dim ID As Integer Dim password As StringVBA変数は他のプログラミング言語と同じです。 VBAで変数を宣言するには、キーワード「Dim」を使用します。*一般的に使用されるデータ型について、1つずつ検討していきましょう。

整数データ型

リストの最初は整数データ型です。 -32,768〜32,767の値の範囲に使用される整数データ型。たとえば、変数名varが値10に設定されている場合、var_nameを介して必要なときにいつでも使用または呼び出すことができます。

Sub Demo()  Dim num As Integer  num = 10  range("A1").Value = num End Sub

このDemo()コードを保存して実行し、以下に示すように、作業ワークシートのA1セルで数値10を取得します。

image

次に、このvbaワークブックを保存します。

マクロを開き、以下に示すようにこのコードを実行します。

image

[実行]をクリックして、A1セルの値を10として取得します。

image

整数データ型を使用してそれらを呼び出す方法を見ることができるように、値を返します。

文字列(固定および変数)データ型

リストの2番目は、数値以外のデータ型からの文字列データ型です。

テキスト値の文字に使用される文字列データ型の範囲は、固定の場合は1〜65,400文字、変数の場合は0〜20億文字です。たとえば、変数paswordが値「abcd」に設定されている場合。名前を介して必要なときにいつでも使用または呼び出すことができます。

Sub Demo()  Dim pasword As String  pasword = "abcd"  range("A1").Value = pasword End Sub

このDemo()コードを保存して実行し、以下に示すように、作業ワークシートのA1セルにテキスト値「abcd」を取得します。

image

このコードを保存します。

マクロを開き、以下に示すようにこのコードを実行します。

image

[実行]をクリックして、A1セルの値を10として取得します。

image

文字列データ型を使用してそれらを呼び出す方法を見ることができるように、値を返します。

通貨データ型

リストの3番目は、通貨データ型です。 -922,337,203,685,477.5808から922,337,203,685,477.5807までの値の範囲に使用される通貨データ型。

たとえば、変動ローンが10,000の値に設定されている場合。 var_nameを介して、必要なときにいつでも使用または呼び出すことができます。

Sub Demo()  Dim loan As Currency  loan = 10000  range("A1").Value = loan End Sub

このDemo()コードを保存して実行し、以下に示すように、作業ワークシートのA1セルで数値10を取得します。

image

次に、このvbaワークブックを保存します。

マクロを開き、以下に示すようにこのコードを実行します。

image

[実行]をクリックして、A1セルの通貨値を取得します。

image

コードが自動的にドル記号を使用して数値を通貨として作成する方法と、通貨データ型を使用してそれらを呼び出して値を返す方法を確認できます。

日付データ型

4番目の一般的なタイプは日付データ型です。 100年1月1日から9999年12月31日までの日付値に使用される日付データ型。たとえば、今日の変数が日付値に設定されている場合。 var_nameを介して、必要なときにいつでも使用または呼び出すことができます。

Sub Demo()  Dim today As Date  Date = "7 Feb 2020"  range("A1").Value = Date End Sub

このDemo()コードを保存して実行し、以下に示すように、作業ワークシートのA1セルで日付値2020年2月7日を取得します。

image

次に、このvbaワークブックを保存します。

マクロを開き、以下に示すようにこのコードを実行します。

image

[実行]をクリックして、A1セルの通貨値を取得します。

image

コードがセル値を日付形式に自動的にフォーマットして数値を日付にする方法と、日付データ型を使用してそれらを呼び出して値を返す方法を確認できます。

例:

上記で説明したデータ型は、最も一般的なデータ型の一部です。次に、サブルーチン全体として表示する例を参照してください。

ここでは、IDを整数、paswdを文字列、収入を通貨、退職日を日付として定義します。

image

Sub Demo()

Dim Id As Integer, paswd As String, Income As Currency, today As Date

Id = 247

paswd = "@bcd"

Income = 1500

today = "7 Feb 2020"

Range("A1").Value = Id

Range("A2").Value = paswd

Range("A3").Value = Income

Range("A4").Value = today

End Sub

このコードをサブルーチンとして記述し、このDemo()コードを実行して、以下の結果を取得します。

image

ご覧のとおり、Demo()コードを実行してすべての値が抽出されます。

すべてのプログラミング言語には、定義された変数にアクセスできる場所を定義する変数アクセス指定子があります。 ExcelVBAも例外ではありません。 VBAにもスコープ指定子があります。これらのスコープ指定子を使用して、ExcelVBAの変数の可視性/スコープを設定できます。 `link:/ general-topics-in-vba-excel-vba-variable-scope [vbaexcelの変数スコープ]`の詳細をご覧ください。

関連記事:

link:/ cells-ranges-rows-and-columns-in-vba-what-is-the-difference-between-byref-and-byval-arguments-vba-interview-question [ByRef and ByVal Arguments] |引数がByRef引数として別のサブまたは関数に渡されると、実際の変数の参照が送信されます。変数のコピーに加えられた変更は、元の引数に反映されます。

link:/ files-workbook-and-worksheets-in-vba-delete-sheets-without-confirmation-prompts-using-vba-in-microsoft-excel [MicrosoftExcelのVBAを使用して確認プロンプトなしでシートを削除する] | VBAを使用してシートを削除しているので、何をしているのかがわかります。

この警告を表示せず、いまいましいシートを削除しないようにExcelに指示します。

link:/ files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Microsoft Excel2016でVBAを使用して新しいブックを追加および保存する] |このコードでは、最初にワークブックオブジェクトへの参照を作成しました。次に、新しいワークブックオブジェクトで初期化しました。このアプローチの利点は、この新しいワークブックの操作を簡単に実行できることです。保存、閉じる、削除などのように `link:/ menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [Display A Message On ExcelVBAステータスバー] `| Excelのステータスバーはコードモニターとして使用できます。 VBAコードが長く、VBAを使用していくつかのタスクを実行する場合、画面のちらつきが表示されないように、画面の更新を無効にすることがよくあります。 `link:/ general-topics-in-vba-turn-off-warning-messages- using-vba-in-microsoft-excel [Microsoft Excel2016でVBAを使用して警告メッセージをオフにする] `|このコードは、VBAアラートを無効にするだけでなく、コードの時間効率も向上させます。方法を見てみましょう。

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット] |あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数] |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。 link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] |この驚くべき関数を使用して、条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。

ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。