| 
    
     |  | ▼SS さん: >先ず上手く動かなかったのは変数の宣言がされていなかったからだと思います。
 >MyArrayについては配列で調べてください。
 >ひとつの案を示しただけで他にもっと良い方法もあると思いますのでこだわる必要は無いと思いますがちょっと書き足してみました。
 >先ずA1〜T1まで1〜20を、A2〜J2までA〜Jを入力する。
 >test()を実行するとH2〜T2に記号が出力されます。
 >次にH2〜T2をクリアした後A〜Hのどこかに列を挿入して
 >test()を実行してみてください。
 >
 >Option Explicit
 >
 >Sub test()
 >  Dim i As Long
 >  Dim MyArray(100) As Variant
 >
 >  For i = 1 To Range("IV1").End(xlToLeft).Column
 >    MyArray(Cells(1, i).Value) = i
 >  Next i
 >
 >  For i = 11 To 20
 >    Cells(2, MyArray(i)).Value = Cells(2, MyArray(i - 10)).Value & _
 >                    Cells(2, MyArray(i - 10)).Value
 >  Next i
 >End Sub
 
 上記の方法で実行できました。一回目の実行で1行目と2行目の関係がmyarrayに記録されたため、2回目の実行をしても1行目と2行目の対応関係がくずれないんですね。参考にさせていただきます。
 とても親切な回答で、もやもやがとれました。本当にありがとうございました。
 
 
 |  |