|
こんばんは
うまく説明出来ませんけど、「Range」が複数セルの場合「Value」は配列を返しますが
配列自体に離れた要素という概念は無いので、
飛び飛びのセルの場合は最初のセル(セル範囲)しか返さないです。
いい例ではないですけど、こんな感じです。
Sub test1()
Dim v
Range("A1").Value = 1
Range("C1:D2").Value = Evaluate("{4,3;2,1}")
v = Range("A1,C1:D2").Value
If Not IsArray(v) Then
MsgBox v
Else
MsgBox "戻り値が配列のためメッセージボックスに表示出来ません。"
End If
v = Range("C1:D2,A1").Value
If Not IsArray(v) Then
MsgBox v
Else
MsgBox "戻り値が配列のためメッセージボックスに表示出来ません。"
End If
Range("A1,C1:D2").Value = Range("A1,C1:D2").Value
MsgBox "確認:「A1」に「A1」の値、「C1:D2」に「A1」の値"
Range("A1").Value = 1
Range("C1:D2").Value = Evaluate("{4,3;2,1}")
MsgBox "確認:元の値を再セット"
Range("C1:D2,A1").Value = Range("C1:D2,A1").Value
MsgBox "確認:「C1:D2」に「C1:D2」の値、「A1」に「C1」の値"
End Sub
|
|