【ExcelVBA】複数の変数をセットで変えていく方法を教えてください。
VBA初心者なので非常に初歩的な質問ですみません。
複数列に入った計算式を何セットかコピーして、計算式の内容を置換していきたいのです。
8セットくらいなのでベタで書いてもいいのですが、簡潔にまとめる方法があったら教えてください。
初心者的なVBAですが、コピーは以下のように書きました。
※作成したい計算列は8個(元を入れて)
※元の計算式は AD:AM の列に入っています。
Sub Macro1()
Dim cx As Variant
Dim C1 As Variant
Dim C2 As Variant
Dim C3 As Variant
Dim C4 As Variant
Dim C5 As Variant
Dim C6 As Variant
Dim C7 As Variant
Dim C8 As Variant
C1 = "AD:AM"
C2 = "AO:AX"
C3 = "AZ:BI"
C4 = "BK:BT"
C5 = "BV:CE"
C6 = "CG:CP"
C7 = "CR:DA"
C8 = "DC:DL"
Columns(C1).Select
Selection.Copy
For Each cx In Array(C2, C3, C4, C5, C6, C7, C8)
Columns(cx).Select
ActiveSheet.Paste
Next
End Sub
このあとにコピーした計算式に含まれる列名を置換します。
ベタで書くと以下のようになります。
Columns(C2).Select
Selection.Replace What:="$G", Replacement:="$J", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="$F", Replacement:="$I", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
C2の範囲では$G⇒$J、$F⇒$Iと置換します。
$Gと$Fは固定です。
置換する列名は以下の通りです。
$G⇒"$J", "$M", "$P", "$S", "$V", "$Y", "$AB"
$F⇒"$I", "$L", "$O", "$R", "$U", "$X", "$AA"
C2~C8の範囲で上記が変化していきます。
この「セットで変化」がどうやっても解決しません。
初歩的な質問で大変申し訳ないのですが、よろしくお願いいたします。