| 
    
     |  | 変数myV の型を Variant で行くか、Rangeで行くかでも 挙動が変わってきますね
 
 --------------------------------------- ケース2
 [変数myV はVariant]
 Sub Variant_Case2()
 Dim myV As Variant
 Set myV = Range("B4:G4")
 myV = 123      '[B4:G4] 変化なし
 End Sub
 
 [変数myV はRange型]
 Sub Range_Case2()
 Dim myV As Range
 Set myV = Range("B4:G4")
 myV = 123   '[B4:G4]が123に変わる!
 
 End Sub
 Range型にすると、
 Let myV.Value = 123
 と解釈されてるようです。
 
 --------------------------------------ケース1
 [変数myV はVariant]
 Sub Variant_Case1()
 Dim MyRange As Range
 Set MyRange = Range("B4:G4")
 MyRange.Value = Split("あ い う え お か") '初期化
 
 Dim myV As Variant
 Set myV = MyRange
 myV = 123    '[B4:G4] 変化なし
 MyRange = myV  '← ◆ どのセルにも 123 が代入される
 End Sub
 変数myV は、はじめ
 > Set myV = MyRange
 として Rangeオブジェクトをセットしていますが、
 次のステートメント
 > myV = 123
 では それとは関係なく 値が代入されているようです。
 
 [変数myV はRange型]
 Sub Range_Case1()
 Range("B4:G4").Value = Split("あ い う え お か") '初期化
 
 Dim myV As Range
 Set myV = Range("B4:G4")
 myV = 123   'Range型にすると[B4:G4]が123に変わる!
 
 End Sub
 
 ---------------------------------------------------sample1
 Sub sample1()
 Dim MyRange As Range
 Set MyRange = Range("B4:G4")
 MyRange.Value = Split("あ い う え お か") '初期化
 
 Dim myV As Variant
 Set myV = MyRange
 myV.Value = 123   '[B4:G4]に123が代入される
 MyRange = myV    '◆MyRangeには Emptyが代入される
 End Sub
 このときは
 > Set myV = MyRange
 でmyVに Range型 がセットされ、なおかつ
 > myV.Value = 123   '[B4:G4]に123が代入される
 で 変数myV をセットしたRangeオブジェクトとして使っているので
 値(123) が myV.Valueにセットされたのでしょうか?
 それで
 > MyRange = myV    '◆MyRangeには Emptyが代入される
 の行で MyRange.Valueが空白になるのは、
 「左辺は配列の値(Value)を要求しているのに右辺はRangeオブジェクトで
 配列では無いため、無効なデータとしてEmptyが代入される仕様」
 によるものでしょうか?
 
 |  |