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 |
実行結果
関連記事
-
-
文字列:文字を指定数並べた文字列を返す(String 関数)
String 関数 【書式】 result = String ( number, …
-
-
セルのデータを区切り文字で複数のセルに分割する(TextToColumns メソッド)
TextToColumns メソッド TextToColumns メソッドを使用 …
-
-
ショートカットメニュー(CommandBar オブジェクト)
ショートカットメニュー(コンテキストメニュー) 右クリックで表示されるメニューの …
-
-
画面の更新を停止(ScreenUpdating プロパティ)
画面の更新を停止 マクロを実行すると、画面が更新されます。これにより、実行速度が …
-
-
RGB 値一覧表(XlRgbColor 列挙型)
RGB 値(XlRgbColor 列挙型)一覧表 RGB 関数を使用して、出力さ …
-
-
日付時刻:日付時刻データを計算( DateAdd 関数 )
DateAdd 関数(日付・時刻の値を加算・減算結果を取得) 【書式】 resu …
-
-
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)
カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …
-
-
引数の整数部分を取得する(Fix 関数・Int 関数)
Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …
-
-
文字列:文字列を最後から検索してその最初の文字位置を返す(InStrRev 関数)
InStrRev 関数 任意の文字列の中で、指定した文字列を最後から検索して、見 …
-
-
VBA の演算子(演算子の優先順位)
演算子の優先順位 演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの …
- PREV
- 配列(多次元配列・配列の次元の変更)
- NEXT
- Array 関数(バリアント型の配列を作成)
