サンプル集  >  Excel VBA  >  配列のサイズ変更(ReDim)
配列のサイズ変更(ReDim)
2007/01/08

セルに入力された任意の値により配列の要素数を変更する例です。 2の時は、要素に「壱」「弐」という値を、3の時は「One」「Two」「Three」という値を設定します。

◆環境
OS Windows 2000 Professional
Excel 2000(9.0.2812)
VBA 6.0.8435

EVBA008.xls
 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: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
'================================================================
' 2007/01/08 (c) ymlib.com
' 配列のサイズを動的に変更する
'================================================================
Option Explicit
Option Base 1

' 「実行」ボタン押下
Private Sub CommandButton1_Click()
    ' 配列宣言
    Dim arBuf() As String

    ' 配列のサイズを変更
    ReDim arBuf(Cells(3, 2).Value) As String

    ' 配列のサイズにより内容を変える
    Select Case Cells(3, 2).Value
    Case 2:
        arBuf(1) = "壱"
        arBuf(2) = "弐"
        Call dspArray(arBuf)
    Case 3:
        arBuf(1) = "One"
        arBuf(2) = "Two"
        arBuf(3) = "Three"
        Call dspArray(arBuf)
    Case Else:
    End Select

End Sub

' 配列の内容を表示
Private Sub dspArray(arBuf() As String)
    Dim i As Integer
    Dim strOut As String

    For i = LBound(arBuf) To UBound(arBuf)
        strOut = strOut & i & ":[" & arBuf(i) & "]" & vbNewLine
    Next i

    MsgBox strOut
End Sub

◆実行結果

配列のサイズに 2 を入力し、「実行」を押下します。

配列の内容を全て表示すると、2つ表示されました。

配列のサイズに 3 を入力し、「実行」を押下します。

配列の内容を全て表示すると、3つ表示されました。

▲ PageTop  ■ Home


Copyright (C) 2012 ymlib.com