• ベストアンサー

エクセルVBAにてコピー

エクセルにて、VBAで、 あるフォーマットをコピーするようなものを作りたいのですが・・・。 例えば1~10行目までをコピーしたいとします。 その内容を1行空けて、12行目に貼り付ける。 次に、23行目に貼り付ける・・・というふうにして VBAにてまだ貼り付けられていない行に 貼り付けられるようにしたいのですが、できるでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

コピーしたい範囲を選択して下記マクロを実行します。 コピーする回数を聞いてくるので入力します。指定した回数、書式をコピーします。 '選択した範囲の書式をコピーする。標準モジュールに貼り付け。 Public Sub SyosikiCopy()   Dim rgAdr As String 'コピー元アドレス   Dim rgRows As Long 'コピー元行数   Dim CopyKaisuu As Integer 'コピー回数   Dim cot As Integer 'カウンタ   rgAdr = Selection.Cells(1, 1).Address   rgRows = Selection.Rows.Count   CopyKaisuu = InputBox("コピーする回数を入力して下さい")   '書式をコピーする   Application.CutCopyMode = False: Selection.Copy   For cot = 1 To CopyKaisuu     Range(rgAdr).Offset((rgRows + 1) * cot, 0).Select     Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _       False, Transpose:=False   Next   Range(rgAdr).Select End Sub

yuuchan
質問者

お礼

ありがとうございました。 早速、ためしてみました。上手くいきました。 これを機にもっと勉強しようと思いました。

関連するQ&A

  • EXCEL VBA行のコピー繰り返し

    EXCEL VBAで行の特定の列の数字を読み取りコピーしてすぐに下の行に挿入して次の行へというようなことがしたいと考えております。 例 商品ID1の数量の列の数値を読み取り4なら同じデータを3行追加する。追加後次の項目へ(商品ID2の行へ) VBAで可能でしょうか?

  • ACCESS VBAでExcelを開き行をコピーしたい

    ACCESS VBAでExcelを開き データを出力しようと思っています。 その時にあらかじめ指定した行をコピーし その行にデータを出力したいと 思っていますが 行のコピーは、どのようにしたら できるのですか? 教えてください。 よろしくお願いします。

  • エクセルVBAのコピーについて

    初心者です。 表を別のシートにコピーしたいのですが、列と行の幅がコピーされません。どうすれば列と行のコピーができるのでしょうか。 pastespecial で引数を指定するのでしょうが、formats ではないでしょう? copy destination:= で別のシートにコピーをしても罫線の行と列の幅が元の幅と異なってしまいます。教えて! エクセルで形式を選択してコピーで、すべてをコピー、でも同じ現象が起きます。列をコピーしてから、すべてをコピーするとうまく行くのですが、VBAではどう書けばいいのでしょうか。

  • EXCELでVBAをつかったコピーの高速化

    EXCELのVBAで、A1からA1000まで乱数をセルに書き込むと8秒かかるのですが、これを高速化することが可能でしょうか? For 行番号 = 1 To 1000 Cells(行番号, 1).Value = Int((10 * Rnd) + 1) Next セルに書き込まずに、1000個の乱数を発生させると1秒もかからないので、8秒のうちのほとんどの時間は、セルへの書込み時間にとられています。 EXCELで列のコピーをした場合は、セルへの書込み時間が早いので、1000個の乱数の結果をいったんメモリに書き込み、列のコピーのように、セルにコピーができれば、高速化が可能かなと思うのですが、VBAでできるのでしょうか?よろしくお願いします。 For 行番号 = 1 To 1000 Int((10 * Rnd) + 1)をメモリに書込み Next メモリの内容をA1:A1000にコピー

  • EXCEL VBAで

    EXCEL VBAで シート1のA2~G2までの列にA,B,C,D~と題名があり、それぞれの下の行には数字が並んでます。シート2のA2~G2までの列にもA,B,C,D~と題名がありますが、ランダムに並んでます。シート1のAの行を、シート2のAの行に、BにはBへという風にコピーをさせるにはどのようにすればよいでしょうか。またシート1A~Gのどれかが欠けている場合もあります。その場合はシート1にあるもののみコピーすることとします。 わかりにくいかも知れませんか、どうかよろしくお願いします。

  • エクセルVBAでコピーすると行の高さが低くなる

    いつもお世話になってます。 エクセル2003のVBAで、セルの範囲を指定してコピーすると行の高さが低くなってしまいます。その他の書式は、変化せずうまくコピーできています。以下がプログラムです。 Sub copy_hyou() Worksheets("sheet1").Activate Range("A1:K24").Copy 'セルA1からK24をコピーします。 Range("A25").Select 'A25からペイストします。 ActiveSheet.Paste End Sub どう直せば、行の高さもコピーできるでしょうか? お休み中すみませんがよろしくお願いいたします。

  • EXCEL VBAによる他アプリケーションへのコピーアンドペーストについて

    EXCEL VBAにおいてセルにある値をコピーし、他のアプリケーション(Tera Term Pro)へペーストする場合、文字列+Enterが入ってしまい、次の行へと移ってしまいます。そうではなく文字列のみをペーストしたいのですがどうやっていいか分かりません>< どうか是非教えてください。よろしくお願いします!

  • エクセルVBAでコピー

    エクセルVBAでのコピーについての質問です。 ブック1 とブック2があります。 ブック1 のSheet1 内にマクロ含むワークシートを 新規ブックにファイル名を指定して 下記のようなプログラムでコピーしようとすると (標準モジュール1の内容) Sub newfilesave() MsgBox "デスクトップの「○○」フォルダに控え○○_日付時間.xlsxファイルを生成します。" Sheets("受付仕分リスト").Copy ActiveSheet.Cells.Copy ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False ActiveSheet.Range("A1").Select 'マクロなしのエクセルデータとして名前を付け、ファイル形式も決めてデスクトップに日付を付けて保存する。。 ActiveWorkbook.SaveAs _ Filename:="C:\Users\user\Desktop\○○\○○_" & Format(Now(), "yyyymmdd_hhmm"), _ FileFormat:=xlOpenXMLWorkbook End Sub Sheet1 内にマクロの内容までコピーされてしまいます。 ブック1のレイアウトや書式などはそのままに マクロ部分だけを取り除いてコピーするには どのような流れでプログラムすればいいでしょうか? よろしくお願いします。

  • VBAでPPTからEXCELにデータをコピー

    こんにちは、ANIMと申します。 EXCELのVBAで下記を実現したいのですが、方法がわかりません。 ご存知の方、どうかご支援よろしくお願いします。 ・POWERPOINTの表のデータをEXCELのセルに貼り付けたい。 ⇒表のデータを手作業でコピーして、EXCELに貼り付ければよいのですが、   PPTのファイルが大量にありVBAで対応したいです。 ・POWERPOINTの表のデータをEXCEL VBAで取り込む方法がわかりません。  (TEXTのデータではなく、表の中のデータの取り込み方です) ・POWERPOINTの表の形式は同じ(例えば、3行5列の表)です。

  • Excelのコピー・貼り付けについて

    Excelで、表のフォーマットをコピー・貼り付けするときに、「列幅」と「行の高さ」がコピー元と同じになりません。 「形式を選択して貼り付け」の中の、「列幅」を選択すると列幅は同じになりますが、「行の高さ」はコピー元と同じになりません。 どのようにすれば、コピー元と同じサイズの表をコピーできるでしょうか。 また、参考までに次のことも教えていただければ嬉しいです。 「形式を選択して貼り付け」の中にある「すべて」の「すべて」とは何が含まれるのでしょうか。 「すべて」を選択すれば、コピー元と全く同じ表がコピーできてもいいように思うのですが、そうではありません。 よろしくお願いいたします。

専門家に質問してみよう