| 
    
     |  | このプログラムはAB列5行の表のデータ入替処理するものです。 AB列とも1行から5行に1から5の数字が入力されています。
 
 この度プログラムの中に書いたような問題が発生しましたので
 ご教示かた宜しくお願いします。
 
 Public Sub test()
 
 Dim a1 As Integer, b1 As Integer
 Dim a1b1 As Range, a5b5 As Range
 Dim a1b4 As Range, a2b5 As Range
 
 '1.変数にセルの値を代入
 a1 = Range("a1").Value
 b1 = Range("b1").Value
 
 Set a1b1 = Range("a1:b1")
 
 Set a5b5 = Range("a5:b5")
 Set a1b4 = Range("a1:b4")
 Set a2b5 = Range("a2:b5")
 
 '2.2〜5行データを1〜4行に移動
 a1b4.Value = a2b5.Value
 
 '3.最初(移動前)の1行目にあったデータを5行に表示します
 a5b5.Value = a1b1.Value
 
 '結果は移動後の1行目のデータが表示され意図したものになりません
 
 '4.そこで次のようにしたら意図した結果となりました。
 
 '  Range("a5").Value = a1
 '  Range("b5").Value = b1
 
 'プログラム2.で2〜5行データを1〜4行に移動した後でも変数a1,b1の値は
 '変わらないのに Set a1b1 = Range("a1:b1")では a1b1 の値がどうして変わる
 'のでしょうか? Set a1b1 = Range("a1:b1")では処理不可能でしょうか?
 
 End Sub
 
 |  |