• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】コピー&複数個所のペースト繰り返し)

【VBA】複数箇所へのデータ貼り付け

このQ&Aのポイント
  • VBAを使用して、1つの値をコピーし、複数箇所へ順次ペーストする方法を教えてください。
  • ペースト箇所が増えても対応できるようなVBAの作成方法を教えてください。
  • コピー元シートから指定した範囲の値をコピーし、貼付シートの指定した箇所にペーストするVBAを作成したいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

#2の回答者です。 > http://okwave.jp/qa/q8534657.html 新しい質問をみましたが、ここの#2のマクロのどこが問題なのでしょうか?

HNK1001
質問者

お礼

ご回答ありがとうございました。 私のペーストの場所の修正ミスでコピペがずれており大変申し訳ございませんでした。 おかげ様で、思っていた通りの結果を得ることができました! こちらのVBAを活用させていただきたいと思っております。 本当にありがとうございました(#^.^#)

HNK1001
質問者

補足

ご回答ありがとうございます。 いただいたマクロを実行したところ、B27~、B45~、B63~、B81~にも同じ形式の表があり、そこへのコピペがズレてしまったので再度質問させていただきました。 お手数お掛けいたしますが、よろしくお願い致します。

その他の回答 (2)

回答No.2

こんにちは。 >貼付けデータやペースト箇所が増えた場合 具体的な内容がないと、すぐには分からないけれども、一応、人数分が増えるということを想定して作りました。貼り付ける場所は、それぞれの位置に、1行置きに貼り付けるという条件です。 FormulaLocalにしているのは、一般的に、日付式などが入る場合を想定しています。iCOUNT As Long =の所に、人数を入れてください。試してみてください。 なお、まるっきり動かないマクロを掲示されるよりも、細かな情報を与えていただいたほうがよいです。 '// Sub TestFormulaPaste() Dim mRanges As Range Dim i As Long Const iCOUNT As Long = 5 '人数を入れる 'ペーストの場所 Set mRanges = Worksheets("貼付シート").Range("B9, B37, B65, B93, B121, B149, B177") For i = 0 To iCOUNT - 1  mRanges.Offset(i * 2).FormulaLocal = Worksheets("コピー元シート").Range("B7").Offset(i).FormulaLocal 'コピー元の最初の場所 Next i Set mRanges = Nothing End Sub '//

noname#203218
noname#203218
回答No.1

1~5のコピーをする条件を記載しないと回答出来ません。 どういう条件でコピー回数を判断するのでしょうか。 例えば、B9の数式で数値が表示された場合は2箇所コピーする。という事が必要です。

HNK1001
質問者

補足

ご回答ありがとうございます。 私の説明が足りず申し訳ございませんでした。 下記URLに画像を添付しましたので、お手数お掛けいたしますが、よろしくお願い致します。 http://okwave.jp/qa/q8534657.html

関連するQ&A