• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【エクセル・マクロ】 繰り返し貼り付けがしたいです)

【エクセル・マクロ】 繰り返し貼り付けがしたいです

このQ&Aのポイント
  • 仕事で、大量のコピペをしなきゃいけなくなり、マクロを組みたいのですが、素人でよく分からず投稿させて頂きました。
  • 参考画像のように、A列にあるデータを、B列の数に合わせてC列に繰り返し貼り付けをしたいのです。
  • A列の50行を、3,000÷50=60回も貼り付けするのが面倒で、3,000という数字も、毎回1,000~10,000と変動するので、マクロを組んだ方が早いのでは、と思いました。また、欲を言えば、A列に数式を入れていることもあり、C列に数式の繰り返し貼り付けをおこないたいのですが、これは難易度がぐっと上がるのでしょうか?

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

マクロは不要です。 (1).A2:A6をコピー (2).C2にペースト (3).セルC6の右下に表示されている■をWクリック これでB列のデ-タが途切れる行までCのペーストが繰り返されます、

fubi0422jp
質問者

お礼

これは盲点でした。 こんな簡単にいけるんですね! シンプル過ぎるってことでベストアンサーにさせて頂きました! ありがとうございます!

その他の回答 (3)

回答No.4

A列:貼りたいデータ A列途中にデータなし、は許しません! C列に、繰り返し執拗に貼り付けます。 C2に、 =INDIRECT("$A"&(MOD(ROW()-2,COUNTA($A$2:$A$100)))+2) 以下、コピー COUNTA($A$2:$A$100)は、どこか固定位置に計算しておく方が良いでしょう。

fubi0422jp
質問者

お礼

ありがとうございます! この方法でもOKでした! 助かりました!

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

マクロだからと言って計算速度が決して早くなることはありません。次のような関数を使うことでご希望のようなことができますね。 例えばA2セルからA50セルまでデータがありそれを繰り返しC列に表示させるのでしたらC2セルに次の式を入力します。 =IF(B2="","",INDEX(A$2:A$50,MOD(ROW(A1)-1,49)+1)) その後にC2セルをコピーします。次に名前ボックスでC2を例えばC2:C3500のように書き変えます。確定することでそれらの範囲が指定されますので右クリックして「貼り付け」をすれば完成です。B列にデータが有る行までにA列のデータが表示されます。

fubi0422jp
質問者

お礼

ありがとうございます! この方法でもいけました! すごいバリエーションが多いんですねぇ。 エクセルってすごい・・・

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

不明箇所: >A列に数式を入れている ご質問添付図で言うとA7以下空白に見えるセルに,実は空白("")を計算している数式がもっと下まで続いていませんか? 作成例: sub macro1()  dim n as long  n = application.countif(range("A:A"), "?*") - 1  range("C2:C" & range("C65536").end(xlup).offset(1).row).clearcontents  do until range("C65536").end(xlup).offset(1, -1) = ""   range("C65536").end(xlup).offset(1).resize(n, 1).formula = "=A2"  loop ’以下オプション  range(range("B65536").end(xlup).offset(1, 1), range("C65536").end(xlup).offset(1)).clearcontents end sub

fubi0422jp
質問者

お礼

マクロ試しました! この方法でもいけました! マクロの勉強になりましたので、感謝です♪

関連するQ&A