Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方
【書式】
Erase myArray [, myArray1, myArray2 … ]
【項目の説明】
- myArray ・・・ 消去する配列の変数名。複数指定する場合は、カンマ (,) で区切ります。
静的配列(通常の配列)の場合:すべての要素がデータ型に応じた初期値(下記の表を参照)でクリアされます。
動的配列:要素の保持自体を破棄し、要素をひとつも持たない宣言時の状態に戻ります(要素に割り当てたメモリは解放します)。
再利用するには、再度 ReDim ステートメントで、要素等をしていします。
静的配列の要素による Erase ステートメント実行結果
配列の型 | Erase ステートメント実行結果 |
数値型の配列 | 各要素は、「0」に設定されます |
文字列型(可変長)の配列 | 各要素は、長さ「0」の文字列(””)に設定されます |
文字列型(固定長)の配列 | 各要素は、「0」に設定されます |
バリアント( Variant )型の配列 | 各要素は、Empty 値 に設定されます |
ユーザー定義型の配列 | 各要素は、別々の変数として設定されます |
オブジェクト型の配列 | 各要素は、Nothing に設定されます |
Erase ステートメントの使用例
VBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
'ユーザー定義型の定義 Private Type mynewType Name As String Num As Long End Type Sub sample_erase01() Dim intArray(5) As Integer '整数型配列 Dim vstrArray(5) As String '文字列配列(可変長) Dim fstrArray(10) As String * 8 '文字列配列(固定長) Dim valArray(10) As Variant 'バリアント Dim myArray(3) As mynewType 'ユーザー定義 Dim objArray(3) As Object 'オブジェクト '上記静的配列を初期化 Erase intArray, vstrArray, fstrArray, valArray, myArray, objArray Debug.Print "数値 :" & intArray(0) Debug.Print "文字列(可変):" & vstrArray(0) & "(長さ= " & Len(vstrArray(0)) & ")" Debug.Print "文字列(固定):" & fstrArray(0) & "(長さ= " & Len(fstrArray(0)) & ")" If IsEmpty(valArray(0)) Then Debug.Print "バリアント型 :" & valArray(0) & "(値: " & "Empty" & ")" Debug.Print "ユーザー定義 :" & myArray(0).Name Debug.Print "ユーザー定義 :" & myArray(0).Num If objArray(0) Is Nothing Then Debug.Print "オブジェクト :" & "(値: " & "Nothing" & ")" End Sub |
実行結果
関連記事
-
-
文字列:文字列を最後から検索してその最初の文字位置を返す(InStrRev 関数)
InStrRev 関数 任意の文字列の中で、指定した文字列を最後から検索して、見 …
-
-
配列の添字の最小値を「1」に設定する
Option Base ステートメントを使用する 【書式】 Option Bas …
-
-
日付時刻:日付から曜日を取得( Weekday 関数、WeekdayName 関数 )
Weekday 関数(日付から曜日を表す数値を返す)の使い方 【書式】 week …
-
-
VBA の演算子(算術演算子)
算術演算子 算術演算を行うときに使用する演算子です。 ^(べき乗)、*(積)、/ …
-
-
Option Compare ステートメント
Option Compare ステートメントの使い方 【書式】 Option C …
-
-
データ型を調べてそのデータ型を示す文字列を返す(TypeName 関数)
TypeName 関数 の使い方 TypeName 関数は、引数に、データ型を調 …
-
-
VBA の演算子(比較演算子)
比較演算子 比較演算子による演算の結果は「真」の場合は「True」、「偽」の場合 …
-
-
指定した値を8進数で表記した文字列に変換する(Oct 関数)
Oct 関数 の使い方 【書式】 result = Oct ( expressi …
-
-
カレントフォルダの取得・設定(DefaultFilePath プロパティ)
DefaultFilePath プロパティ カレントフォルダとは、ブックを開いた …
-
-
Math 関数( Abs,Atn,Cos,Exp,Log,Rnd,Sgn,Sin,Sqr,Tan )
Abs 関数 【書式】 value = Abs ( number ) 【引数・戻 …
- PREV
- 配列(多次元配列・配列の次元の変更)
- NEXT
- Array 関数(バリアント型の配列を作成)