dポイントプレゼントキャンペーン実施中!

マクロ初心者です。
下記の①と②の動きを実現したいです。
①までは方々で方法論をご教示いただいてどうにか出来ているのですが、
②がなかなかうまくいかず、、
どなたかお力添えいただけますと嬉しいです。

実現したい動きは以下です。

①指定範囲の全セルに処理を行う
ファイル#1の指定sheetのF5→AR12までの値をコピー
ファイル#2の指定sheetのF5→AR12までの値をコピー
ファイル#3のF5→AR12に上記2つの値を加算で貼り付け


②F列、H列、J列…と、列おきに処理を行う
ファイル#1の指定sheetのF13→AR42までの値をコピー
ファイル#2の指定sheetのF13→AR42までの値をコピー
ファイル#3のF13→AR42に上記2つの値を加算で貼り付け


補足ですが、①は今のところ以下で組んでおります。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Sub マクロ()
Dim i As Integer
Const xAdr As String = "F5:AR42"
With Workbooks("#3.xlsm").Worksheets("指定のシート名")
Workbooks("#1.xlsm").Worksheets("指定のシート名").Range(xAdr).Copy
.Range(xAdr).PasteSpecial Paste:=xlPasteAll
Workbooks("#2.xlsm").Worksheets("指定のシート名").Range(xAdr).Copy
.Range(xAdr).PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd
End With
End Sub

A 回答 (1件)

こんにちは



どこかで見たような内容と思ったら、続きでしょうか?
https://oshiete.goo.ne.jp/qa/11369449.html

①は良いものとして、②の場合1列おきのデータはコピーしても、1列おきにペーストすることはできません。
詰めてペーストすることは可能ですけれど、なさりたいのはそういうことではないですよね?

…ですので、②の場合は対象範囲の中の1列ずつの処理を繰り返すという方法が簡単だと思います。
実はこれって、対象範囲が変わるだけで、処理は①とまったく同じ内容になっているみたいですね。
ということから、対象範囲のアドレスだけ変えるようにして繰り返せば、①、②の処理ともまとめて共通化できるものと思われます。
    • good
    • 0
この回答へのお礼

はい。そうです、、同質問者です。
なるほど、地道に書いてみます!

ありがとうございました!

お礼日時:2019/11/15 17:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A