Public Class Form1 '仮に開始と終了位置の情報 2つを1組として、それを複数個(数不定)保持する場合 Structure CELL_RANGE Dim START_CELL As String '開始位置の情報 Dim END_CELL As String '終了位置の情報 Sub New(ByVal StartCell As String, ByVal EndCell As String) Me.START_CELL = StartCell '初期化の時に第1引数を取り込む Me.END_CELL = EndCell '初期化の時に第2引数を取り込む End Sub End Structure Sub test() Dim MyList(3) As CELL_RANGE 'コンストラクタを使った初期化 MyList(0) = New CELL_RANGE("0-0", "0-1") '開始位置,終了位置 の順番 MyList(1) = New CELL_RANGE("1-0", "1-1") MyList(2) = New CELL_RANGE("2-0", "2-1") MyList(3) = New CELL_RANGE("3-0", "3-1") For Each i In MyList Debug.Print("Start:{0}, End:{1}", i.START_CELL, i.END_CELL) Next '個別のデータ取出し・設定 →変数名(n).START_CELL, 変数名(n).END_CELL End Sub 'もしも "0-0"の文字列 1つで開始・終了の位置を表し、それを複数(要素数が不定)保持する場合 Structure CELL_RANGE_2 Dim START_END() As String End Structure Sub test2() Handles Me.Click Dim MyList2(3) As CELL_RANGE_2 '初期化子を使った初期化 MyList2(0) = New CELL_RANGE_2() With {.START_END = {"0-0", "0-1"}} '要素数は不定 MyList2(1) = New CELL_RANGE_2() With {.START_END = {"1-0", "1-1", "1-2", "1-3"}} MyList2(2) = New CELL_RANGE_2() With {.START_END = {""}} '←要素数が 0のとき MyList2(3) = New CELL_RANGE_2() With {.START_END = {"3-0", "3-1", "3-2"}} For n = 0 To UBound(MyList2) '要素が 0個でも""を入力↑してるのは↓でエラーが・・・ For Each m In MyList2(n).START_END Debug.Print(m) '個別のデータ取出し・設定 →変数名(n).START_END(m) Next Next End Sub End Class