|
▼imori さん:
>以下のようにB列の値とC列の値を
>[あ、テスト1]のように一緒にもちたいです。
>また値を格納した後、それを取り出したいです。
何番目のデータかを指定して 2つの値を組で得たいときは、配列が便利です。
たとえば、以下では B:C列をひとつの配列に入れていますので、
その何行目何列目を指定すれば 値が得られます。
Sub tryA()
Dim ary As Variant
ary = Range("A1").CurrentRegion.Columns("B:C").Value
MsgBox ary(5, 1) '→ 「お」が入っている
MsgBox ary(6, 2) '→ 「テスト6」が入っている
End Sub
いっぽう、何番目の(何行目の)データか? ではなく、
たとえば B列の「お」に対応する C列のデータを取得したいときは、
Dictionaryオブジェクトを使うと 組データの格納ができます。
Sub tryB()
Dim dic As Object
Dim c As Range
Set dic = CreateObject("Scripting.Dictionary")
For Each c In Range("B1", Cells(Rows.Count, "B").End(xlUp))
dic(c.Value) = c.Offset(, 1).Value
Next
MsgBox "キー「お」の値は " & dic("お") '→ 「テスト5」が返る
End Sub
C列データのほうを キーに登録して、 テスト番号を指定すると、対応するB列の
あ,い,う,え,... を返す風に組むこともできます。
|
|