投稿者 m190  (社会人) 投稿日時 2012/5/26 20:56:09
やりたいことがきちんと把握できていない可能性があるので
もしかすると余計に混乱させてしまう、かもしれませんが・・・

もし必要な情報が、開始と終了位置の 2つのみであれば、要素を 2つ持つ
構造体を作って、それを配列で保持する、ってのはお役に立ちませんか?

> 例えば、constなどで開始と終了位置を複数保持(A1:B2,F3:G6 などと自由に設定)
例)
Public Class Form1
    '仮に開始と終了位置の情報 2つを1組として、それを複数個(数不定)保持する場合 
    Structure CELL_RANGE
        Dim START_CELL As String                              '開始位置の情報 
        Dim END_CELL As String                                '終了位置の情報 
        Sub New(ByVal StartCell As StringByVal 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

日頃の不勉強が祟って私、(配列も苦手だしジェネリックが全然ダメなんです)
List(Of T)とかが扱えず、↑では String型の配列で保持してますが、これを
List(Of T)などのコレクション(?)で扱えれば、要素の追加や削除、検索など
もっと便利になるような気がします。

#ただその場合、わざわざ構造体にする意味は無いかもしれません。。。(汗
#List(Of T)の勉強をがんばって、自在に扱えるようになるのが一番近道かも
#・・・と、自分自身に言い聞かせております。。。   (/_;) <反省


もしお役に立ったら嬉しい限りなんですが、逆に的外れで
余計に混乱させてしまったような場合には本当にごめんなさい。