| 
    
     |  | こんにちは。 VBA超初心者です、宜しくお願いします。
 下記の様にA1〜E3までの各セルに数値が入っている元データを同じワークシートの別セル(G1〜K3)に一行ずつ加工(左から大きい順に並べ替えて最大値と最小値に色を付ける)して全てコピーするコード(下記)を作りました。
 質問は、このコードを実行すると元データまで連動して変わってしまうのですが、元データはそのまま変わらない様にするにはどうしたらいいのでしょうか。
 別のワークシートにコピーされる様なコードに変更してやってもみましたがダメでした。
 ご教授頂ければ幸いです。宜しくお願いいたします。
 
 (元データ)           (実行後)
 A  B  C  D  E   F  G  H  I  J  K
 1 7.3 7.0 7.2 7.5 7.7    7.7 7.5 7.3 7.2 7.0
 2 7.0 8.0 7.3 7.1 7.4    8.0 7.4 7.3 7.2 7.0
 3 7.0 7.8 7.6 7.3 7.2    7.8 7.6 7.3 7.2 7.0
 
 (コード)
 Sub Macro1()
 Range("A1:E1").Sort _
 Key1:=Range("A1:E1"), Order1:=xlDescending, Orientation:=xlSortRows
 Range("A1:E1").Copy Range("G1:K1")
 Range("G1").Interior.ColorIndex = 8
 Range("K1").Interior.ColorIndex = 6
 End Sub
 
 Sub Macro2()
 Range("A2:E2").Sort _
 Key1:=Range("A2:E2"), Order1:=xlDescending, Orientation:=xlSortRows
 Range("A2:E2").Copy Range("G2:K2")
 Range("G2").Interior.ColorIndex = 8
 Range("K2").Interior.ColorIndex = 6
 End Sub
 
 Sub Macro3()
 Range("A3:E3").Sort _
 Key1:=Range("A3:E3"), Order1:=xlDescending, Orientation:=xlSortRows
 Range("A3:E3").Copy Range("G3:K3")
 Range("G3").Interior.ColorIndex = 8
 Range("K3").Interior.ColorIndex = 6
 End Sub
 
 |  |