VBA 配列のクリアとErase関数

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 8月 1, 2022

このチュートリアルでは、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 を使って配列の値をクリアする代わりに、配列全体をループして各値をリセットすることもできます。

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples