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 |
実行結果
関連記事
-
-
日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )
DateValue 関数(文字列から日付データを取得) 【書式】 date_va …
-
-
ユーザー定義関数:セルを取得する(ThisCell プロパティ)
入力されたセルを取得する ワークシート上で使用する Function プロシージ …
-
-
文字列:アルファベットを小文字または大文字に変換(LCase 関数,UCase 関数)
LCase 関数・UCase 関数 の使い方 【書式】 <アルファベットの大文字 …
-
-
セルのデータを区切り文字で複数のセルに分割する(TextToColumns メソッド)
TextToColumns メソッド TextToColumns メソッドを使用 …
-
-
ユーザー定義定数(Const ステートメント)
定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …
-
-
変数がNull 値かどうかをチェックする( IsNull 関数 )
IsNull 関数の使い方 【書式】 result = IsNull ( exp …
-
-
Math 関数( Abs,Atn,Cos,Exp,Log,Rnd,Sgn,Sin,Sqr,Tan )
Abs 関数 【書式】 value = Abs ( number ) 【引数・戻 …
-
-
文字列:文字列の長さを取得( Len 関数、LenB 関数 )
Len 関数(文字列の長さを取得) 【書式】 result_len = Len …
-
-
日付時刻:年・月・日を取得(Year、Month、Day 関数)
日付から年・月・日を取得する関数 【書式】 date_year = Year ( …
-
-
引数の整数部分を取得する(Fix 関数・Int 関数)
Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …
- PREV
- 配列(多次元配列・配列の次元の変更)
- NEXT
- Array 関数(バリアント型の配列を作成)
