• ベストアンサー

コピーしたデータを2行ずつに貼り付け

いつもお世話になります。 Excel VBAの事で質問させて下さい。 あるデータ(リスト形式)からデータを抽出して 別のシートの最下端行に貼り付けたいと考えています。 貼り付ける際に、コピーしたデータを2行ずつに複製して 貼り付けていきたいのですが、良い方法はありませんでしょうか? 何卒よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

Sheet1のA列に「あるデータ(リスト形式)」があり、Sheet2のA列にデータを「2行ずつに複製して貼り付け」るマクロのサンプルです。 VBAの標準モジュールに貼り付けて下さい。 Sub Macro1() Dim idx As Long  Worksheets("Sheet1").Select  For idx = 1 To ActiveSheet.Range("A65536").End(xlUp).Row   ActiveSheet.Cells(idx, "A").Copy _    Destination:=Worksheets("Sheet2").Range("A65536").End(xlUp).Offset(1, 0).Resize(2, 1)  Next idx End Sub マクロの内容はご自身でヘルプなどを見ながら理解してくださいね。

kkke
質問者

お礼

遅くなりまして申し訳ありません。 うまく行きました! ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

質問内容は2つですか? 1)最下行を知るにはどうすれば良いか? 2)1行をコピーして2行にするにはどうすれば良いか? 1)は過去ログを「EXCEL VBA 最下行」で検索してください。 2)は、1行コピーして最下行の次の「2行選択してから」貼り付けを  マクロの記録でもすればコードができます。手動で記録した行番号を1)で取得する「最下行」と置き換えてください。 EXCEL2007より前なら、メニューのツール>マクロ>マクロの記録。 EXCEL2007なら、リボンの表示>マクロ>マクロの記録。 rows("1:1").copy rows("3:4").select ActiveSheets.paste みたいな感じ(かなり省略)になるので 最下行を取得して変数nRowに格納したのであれば rows(nRow + 1 & ":" & nRow + 2).select に書き換えるということです。

kkke
質問者

お礼

早速の返答ありがとうございます。 最下行の取得は分かります。 1行を複数行にコピーするやり方ですが、 マクロの記録でやってはみましたが どうもピンときません。 というのも、「1行を複数行にコピー」を 何行にもわたって自動で繰り返したいからです。 rows(nRow + 1 & ":" & nRow + 2).select をデータの端まで繰り返すという様なニュアンスでしょうか・・・ もう少しで分かりそうな気がするんですが・・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで抽出したデータを別シートにコピーしたいです

    エクセル2003を使用しています。 例えば、以下のような表があります。  ABC 1あ10 2い15 3あ20 4 A列が条件となり、たとえば「あ」のデータだけ抽出して、そのデータを別シートにコピーします。 同じく「い」だけを抽出して、また別のシートにコピーします。 いままでは、オートフィルタで抽出して自分でコピーをして貼り付けしていましたが、日々データが次の行に追加になるので、毎回オートフィルタしてコピーするのは大変です。 関数か、マクロかVBAを使ってする方法はありますでしょうか。 できれば日々追加になるデータのみをすでにある別シートの前日までのデータの下に追加できるようになればいいと思うのですが。 知識が乏しくできません・・・ よろしくお願いいたします。

  • エクセルで20万行あるシートから100行ずつ抽出したいのですが

    お世話になります。 エクセルで20万行のデーターがあります(時刻と温度のデーター)。 これを100行ずつ抽出し、別のシートにコピーしたいのですがどうすればいいでしょうか? +’sheet’A1 +’sheet’A101 +’sheet’A201 ・・・ と手入力では大変ですので、ドラッグで一度に出来るやり方を教えて頂けると幸いです。 よろしくお願いします。

  • 行のコピーに対し一列だけコピーしないようにする

    お世話になります。 エクセルのコピーに関して質問です。 あるデータをコピーする際、行のコピーという操作をやっています。 以下の例では一行目にabcde・・・というデータを貼り付ける操作です(ずれていてすみません)。 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 abcdefghijklmnopq・・・ ただたとえば最後のz列にのみ数式を入れていてここはコピーしてほしくないのです。 以下の制約があり普通のコピーで対応したいのですが方法はないでしょうか? 1 1行のデータが100以上あるため行コピーが楽 2 行数(コピーする行数)は100以上あるためシート内の別範囲に表示させる方法は見えにくく× 3 種類別に分けてシートを作成しているので別シートに表示させる方法はシート数が多くなりすぎて× 4 色々な人(初心者も)がコピーするため+データはUSB等でバラバラにもってくるためマクロは避けたい マクロを使えばできそうというのはわかるのですが本人自身もまだ初心者なのと コピーする個所は各自判断しなくてはいけないので難しいと感じています。 駄文ですみませんがよろしくお願いします。

  • VBAでのコピーについてです。

     いつもお世話になっております。VBA初心者です。  シート全体の内容(データ)を別ブックのシートにコピーしたいのです。しかも、別ブックのシートにはデータがあるので、そのデータ下の行(例えば(20,A))から貼り付けたいのです。  いろいろと調べたのですが、やり方がわかりません。 よろしくお願いいたします。

  • データ抽出のコピーの仕方を教えてください。

    エクセル2007で表を作っています。 シートAに、1行目が項目で2行目以降データです。350行ほどあります。 シートAのそのデータにフィルタを使って、3件ほど、抽出しました。 シートBに抽出したデータと1行目の項目を列幅やセルの色などそのままコピーしたいのですが、 コピー→貼り付けだと、書式がコピーできません。 項目と抽出したデータをそのまま、まるっとコピーできないでしょうか?

  • VBA フィルターで抽出したデータを別のファイルの

    VBA フィルターで抽出したデータを別のファイルのシートのセルにヘッダー行とフッター行のあるシートに挿入したい お世話になります。 excel のフィルターで抽出したデータを別のファイルのシートに抽出したデータと同一フォーマットの入っている原紙がありその原紙をコピーしたシートのヘッダー行(A1-A8)の後、9行目からフッター行の手前、52行めまでに貼り付けするを、フィルターで抽出した分繰り返したいのです。原紙 のシートはコピペでしたに20枚ほど作ってあります。 マクロの記述でコピペを繰り返せば作れそうな気はしますが、汎用性が無いので、また私の頭も固いので。 宜しくお願いします。

  • データコピー貼り付けの仕方

    excel2010を使っています、VBA勉強中の初心者です教えてください。 随時データ量の変化するsheet1があります。 sheet1 A2からデータの入ってる最終行、R列までをコピーし、 sheet2 A列:R列まで、最終行に貼り付けをしたいのでご教授ください sheet1, sheet2ともに行1にタイトルがあります

  • エクセルVBAでフィルタ抽出部分のみのコピー

    エクセルVBAで売上帳を作成していますが、オートフィルタでデータ抽出した後、表示されている行のみをコピーして別シートに貼りつけるにはどうすればよいのでしょう? 別シートは指定したセルに値のみの貼り付けをしたいと思っています。 宜しくお願いします。

  • エクセル コピーしたデータを1行おきに貼り付け

    エクセル2003を使っております。 コピーしたデータを1行おきに貼り付けたいのですがやり方がわかりません。あと、1つのセルに対して2行ごとに結合したいのですがどのようにすればいいのか。教えてください。よろしくお願いします。

  • VBA 特定の行を別シートへコピー・削除

    下記のように、VBAで特定の行を抽出して別シートへコピーし、コピーした行については元リストデータを削除したいです。 具体的には、【出荷sheet】(C列注文番号は、出荷があった時に入力済)へ、注文番号に対応する行を【リストsheet】から抜き出してコピーし、コピー後は、【リストsheet】から該当行を削除したいです。 検索により調べてもうまく合致する回答が見当たらず困っています。 VBAの理解度は未熟ですが、何卒ご教授いただけると幸いです。 【リストsheet】 A列 B列  C列   D列 ・ ・ ・ J列 No. 日付 注文番号  品名 ・ ・ ・ ・ 1  1/1   A111   鉛筆  ・ ・ ・ ・ ←コピー後、削除  2   1/2   B222   ペン  ・ ・ ・ ・ 3    1/5  C555 消しゴム・ ・ ・ ・ ←コピー後、削除  ・ ・   ⇓ 【出荷Sheet】 A列 B列  C列   D列 ・ ・ ・ J列 No. 日付 注文番号  品名 ・ ・ ・ ・ 1  1/1 A111   鉛筆   ・ ・ ・ ・ 3   1/5   C555 消しゴム・ ・ ・ ・

専門家に質問してみよう