VBAロング(例)| ExcelVBAの長いデータ型のステップバイステップガイド

VBAの長いデータ型とは何ですか?

Longは数値を格納するために使用されるVBAのデータ型であり、整数も数値を保持することがわかっていますが、longデータ型の場合もデータの格納範囲が非常に大きいため、Longは整数とは異なります。 10進値も保持できるデータ型。これは組み込みのデータ型です。

名前が示すように「長い」、それは何か大きなものの価値を保持する必要があります。「long」は、VBAExcelの数値データ型です。

Excel VBAのlongデータ型は、正の数の場合は0から2、147、483、647の値を保持でき、負の数の場合は0から-2、147、483、648の値を保持できます。

VBA Longデータ型には、コンピューターに4バイトのメモリストレージが必要です。これは、2倍整数データ型可変メモリ(2バイト)であり、2倍データ型可変メモリの半分(8バイト)です。

短いキャリアでVBALongデータ型の制限を十分に活用したいというシナリオは見たことがありません。しかし、それをよりよく理解するために、いくつかの例を示します。

VBAロングデータ型の例

以下は、Excel VBALongデータ型の例です。

このVBAロングデータタイプExcelテンプレートはここからダウンロードできます–VBAロングデータタイプExcelテンプレート

VBAの長い例#1

変数のデータ型を「Long」として宣言するとすぐに、-2、147、483、648から2、147、483、648までの値を割り当てることができます。

たとえば、変数をlongデータ型として宣言します。

コード:

 Sub Long_Example1()Dim k As Long End Sub 

ワークシートの合計行数として値を割り当てましょう。

Excelワークシートコードで行の総数を取得するには、「行」です。カウント"

コード:

 Sub Long_Example1()Dim k As Long k = Rows.Count End Sub 

メッセージボックスに値を表示します。

コード:

 Sub Long_Example1()Dim k As Long k = Rows.Count MsgBox k End Sub 

このコードを実行して、ワークシートの合計行数を確認します。

ワークシートには10​​0万行以上あると書かれています。

理解を深めるために、データ型をLONGからINTEGERに変更します。

コード:

 Sub Long_Example1()Dim k As Integer k = Rows.Count MsgBox k End Sub 

VBAコードを実行すると、「オーバーフロー」というエラーメッセージが表示されます。

データ型「整数」が-31768から32767までの値のみを保持できるため、VBAでこのエラーが発生した理由。この場合、「行。「カウント」は、「整数」変数の制限を超える数を返します。

32767しか保持できない変数に100万を超える値を割り当てると、ここでオーバーフローエラーが発生します。

VBAの長い例#2

長い変数を使用して最後の行を見つける

ワークシートの最後に使用された行を見つけることは、コーディングの最も重要です。ワークシートの最後に使用された行を見つけるには、変数を宣言する必要があります。変数を宣言してデータ型を割り当てるには、常識が必要です。

次の画像に示すように、データが25000行で終了していると仮定します。

最後に使用された行番号が25000であることがわかりました。このため、「INTEGER」データ型で最後の行を取得できるため、「LONG」データ型は必要ありません。

詳細については、以下のコードを参照してください。

コード:

 Sub Long_Example1()Dim k As Integer k = Cells(Rows.Count、1).End(xlUp).Row MsgBox k End Sub 

このコードを実行すると、現在作業しているワークシートの最後に使用された行番号が取得されます。

コーダーとして、将来のデータのサイズを知ることは重要です。現時点では、データは25000行目で終了している可能性がありますが、データが「整数」の制限、つまり32767を超えて増加すると、オーバーフローエラーが発生します。

たとえば、データを32768行に増やします。

同じコードを再度実行すると、値は取得されず、次のようなエラーが発生します。

「整数」値の制限を超えて制限を1つ増やしたため、オーバーフローエラーが発生したことを思い出してください。

したがって、変数にデータ型を割り当てる前に、データのサイズを知ることが重要です。将来のデータサイズを考慮せずに、変数を「LONG」として宣言することをお勧めします。

ExcelVBAロング変数の代替

long変数の制限を超える値を保持したい場合は、すでに考えている必要があります。このためには、VBAの「文字列」または「バリアント」などのさまざまなデータ型を使用する必要があります。

番号2147483647を超えると、LONGデータ型のVBAでオーバーフローエラーが発生することを覚えておいてください。この数を超えて格納するには、「String」または「Variant」データ型を使用する必要があります。

文字列の場合

コード:

 Sub Long_Example2()Dim k As String k = 2147483648 MsgBox k End Sub 

バリアントの場合

コード:

 Sub Long_Example2()Dim k As Variant k = 2147483648 MsgBox k End Sub 

上記のコードを実行すると、上記の番号が表示されます。