VBA 配列のクリアとErase関数
Last updated on 8月 1, 2022
In this Article
このチュートリアルでは、VBAで配列をクリアする方法について説明します。
配列全体をクリアする
配列全体を消去するには、Eraseステートメントを使用します。
Erase arrExample
実際には以下のように使用します。
Sub ClearArray()
'静的配列を作成する
Dim arrExample(1 to 3) as String
'配列の値を定義する
arrExample(1) = "Shelly"
arrExample(2) = "Steve"
arrExample(3) = "Neema"
'配列全体を消去する
Erase arrExample
'配列の値を確認する
MsgBox arrExample(1)
End Sub
配列のサイズを変更してクリアする
配列が動的な場合 (動的配列とは、サイズを変更できない静的配列に対して、サイズを変更できる配列のことです)。 ReDimコマンドを使用して配列のサイズを変更し、配列全体の値をクリアします。
'配列全体を消去する
ReDim arrExample(1 To 4)
このように使用します。
Sub ClearArray2()
'動的配列を作成する
Dim arrExample() As String
ReDim arrExample(1 To 3)
'配列の値を定義する
arrExample(1) = "Shelly"
arrExample(2) = "Steve"
arrExample(3) = "Neema"
'配列全体を消去する
ReDim arrExample(1 To 4)
'配列の値をチェックする
MsgBox arrExample(1)
End Sub
配列の一部をクリアする
前述のように、ReDimコマンドは配列のサイズを変更し、配列からすべての値をクリアします。 代わりに、ReDim Preserveを使用すると、既存の値を保持したまま配列のサイズを変更することができます。実際には、この方法を用いて配列の一部を素早く消去することができます。
'3番目以降の要素を消去する
ReDim Preserve arrExample(1 To 2)
以下は使用例です。
Sub ClearArray3()
'動的配列を作成する
Dim arrExample() As String
ReDim arrExample(1 To 3)
'配列の値を定義する
arrExample(1) = "Shelly" (シェリー)
arrExample(2) = "Steve" (スティーブ)
arrExample(3) = "Neema" です。
'3番目の要素を消去する
ReDim Preserve arrExample(1 To 2)
'配列のサイズを再変更する
ReDim Preserve arrExample(1 To 3)
'配列の値をチェックする
MsgBox arrExample(3)
End Sub
配列全体をループする – 値をリセットする
Erase や ReDim を使って配列の値をクリアする代わりに、配列全体をループして各値をリセットすることもできます。