EXCELデータを別シートに貼り付ける方法

このQ&Aのポイント
  • EXCELデータをコピーして別シートの最初の空白行に貼り付ける方法について質問があります。特定のデータが入力された項目について、それぞれの月のデータを一年分まとめたシートに貼り付ける方法を知りたいです。
  • 質問者は毎月決まった項目のデータを入力し、それぞれの月のデータを一年分まとめたシートに貼り付けたいと考えています。具体的なシートの構成として、1-1、2-1、3-1の項目に対して1-4、2-3、3-2のシートにデータを貼り付けたいと考えています。
  • 質問者はEXCEL2003を使用しているため、マクロの知識が少なく、自動的に行う方法を知りたいと考えています。どのようにすれば特定のデータを一年分まとめたシートに自動的に貼り付けることができるでしょうか。
回答を見る
  • ベストアンサー

EXCEL データをコピーして別シートの最初の空白行に貼り付け

EXCEL データをコピーして別シートの最初の空白行に貼り付け 解決方法がわからず再度質問させていただきます。 どなたかご教示お願いいたします。 シート 1-1 毎月決まった項目のデータが入ります。 1-4 1-1の月データを一年分貼付 2-1 毎月決まった項目のデータが入ります。 2-3 2-1の月データを一年分貼付 3-1 毎月決まった項目のデータが入ります。 3-2 3-1の月データを一年分貼付 1,2,3と三種類ありますが、やりたいことは同じで、 1-1、2-1、3-1には毎月決まったデータを貼り付けています。 そのデータをそれぞれ1-4、2-3、3-2の前月の最終行の次に継ぎ足しで貼り付けたいのです。 (項目の下の空白行に貼り付けたい) 1-1と1-4、2-1と2-3、3-1と3-2の項目は同じです。 ----------------------------------------------------------------------------------- 1-1 A1:O1に項目(A2:02以下にデータが入り、行はその月によりまちまちです) Q2:R28にはA2:O2以下のデータをカウントしています。 1-4 A1:O1に項目 A2:O2以下に一年分のデータを自動的に貼り付け ----------------------------------------------------------------------------------- 2-1 A1:L1に項目(A2:L2以下にデータが入り、行はその月によりまちまちです) N2:O15にはA2:L2以下のデータをカウントしています。 2-3 A1:L1に項目 A2:L2以下に一年分のデータを自動的に貼り付け ----------------------------------------------------------------------------------- 3-1 A1:K1に項目(A2:K2以下にデータが入り、行はその月によりまちまちです) 3-2 A1:K1に項目 A2:K2以下に一年分のデータを自動的に貼り付け ----------------------------------------------------------------------------------- EXCEL2003です。 マクロは記録程度の知識しかなく、申し訳ないのですが、 ここの部分をどうしても自動的に行いたいのです。 どうかよろしくお願いいたします。

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

  • ベストアンサー
  • soixante
  • ベストアンサー率32% (401/1246)
回答No.1

それぞれの毎月分のデータを月末か月初に、年間シートに移植してるんですね。 元データのバックアップを取った上で、お試しファイルのほうでご確認ください。 ******************************************************************************** Sub Harituke() Dim k As Integer Dim Rng As Range Dim Ws(6) As Worksheet Set Ws(1) = Worksheets("1-1") Set Ws(2) = Worksheets("1-4") Set Ws(3) = Worksheets("2-1") Set Ws(4) = Worksheets("2-3") Set Ws(5) = Worksheets("3-1") Set Ws(6) = Worksheets("3-2") For k = 1 To 5 Step 2   Set Rng = Ws(k).Cells(1, 1).CurrentRegion   Set Rng = Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1, Rng.Columns.Count)   Rng.Copy Ws(k + 1).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) Next k For k = 1 To 6   Set Ws(k) = Nothing Next k Set Rng = Nothing End Sub

orange1010
質問者

お礼

ありがとうございます。 問題なくそれぞれのシートに貼付けができました。 本当に助かりました。ありがとうございました!

関連するQ&A

  • EXCEL データをコピーして別シートの最初の空白行に貼り付けたい

    EXCEL データをコピーして別シートの最初の空白行に貼り付けたい Sheet1はA列からR列までを使ったシートで、1行目は各項目があり、2行目からは当月のデータが入力されています。 Sheet2はSheet1の1行目と同じようにA列からR列までが項目になっていて、期中のデータを付け足していきたいと思っています。 マクロの記録でやってみたのですが、前月の最後の行(貼り付ける最初の空白行)の認識の仕方が分からず、Sheet2への貼付がうまくいきません。 どのような方法でやったらいいのか教えて下さい。

  • 再質問 EXCEL データをコピーして別シートの最初の空白行に貼り付け

    再質問 EXCEL データをコピーして別シートの最初の空白行に貼り付けたい QNo.6023986でEXCEL データをコピーして別シートの最初の空白行に貼り付けたいと書き込んだものです。 質問内容は以下の通りです。 Sheet1はA列からR列までを使ったシートで、1行目は各項目があり、2行目からは当月のデータが入力されています。 Sheet2はSheet1の1行目と同じようにA列からR列までが項目になっていて、期中のデータを付け足していきたいと思っています。 マクロの記録でやってみたのですが、前月の最後の行(貼り付ける最初の空白行)の認識の仕方が分からず、Sheet2への貼付がうまくいきません。 どのような方法でやったらいいのか教えて下さい。 ----------------------------------------------------------------------------------- 回答で以下のマクロを教えていただき、テストではうまくいったのですが、 ひとつのブック内でsheet1をsheet2に、sheet3をsheet4に、sheet5をsheet6にと行いたいので、 以下のコードのシート名をそれぞれ書き換えてやってみました。 ところが、1を2にはできたのですが、3を4でやってみたところ、 なんどやっても『400』というエラーが出てしまいます。 シート名の他にも書き換えが必要なのか教えてください。 よろしくお願いします。 Sub Macro1() GYOU1 = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row GYOU2 = Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row + 1 Sheets("Sheet1").Select Range(Cells(2, 1), Cells(GYOU1, 18)).Copy Sheets("Sheet2").Select Range("A" & GYOU2).Select ActiveSheet.Paste Application.CutCopyMode = False End Sub

  • エクセル(2003)のコピーと貼り付けについて。

    エクセル(2003)のコピーと貼り付けについて、操作を自動化したいです。 VBA初心者です。 同じフォルダ内にAファイルとBファイルがあります。 Aファイルにはシート1からシート4まで有り、シート1とシート2にシート3と4を比較したデータを表示させています。 シート1とシート2はA1からG1まで項目として、A2からデータが表示されます。約20行程度、表示される行数は毎日変わります。 Bファイルにはシート1しかありません。A1からG1まで項目とし、A2からデータが表示されています。約100行。毎日変わります。 (Aファイルのシート1とシート2の表示されているデータを貼り付けていく為) Aファイルのシート1に表示されているデータ(A2から)を仮に20行としBファイルの101行目(入力されているデータのすぐしたの行)に貼り付け、Aファイルのシート2に表示されているデータ(A2から)を仮に20行とし、120行目に貼り付け。 毎日コピーする範囲や貼り付けをするセルが変わっていく、固定の範囲、セルではない。この作業を毎日、コピー貼り付けで操作しています。 この操作をラクにしたいです。 困っていることは、コピーする範囲が毎日変わってしまう。(行数が増減するため) 貼り付けるセルも変わってしまう、(行数が増減するため) 分かりずらい説明になっていましたら、申し訳ないです。 よろしくお願いします。

  • Excelのシート間のコピー&貼付け

    皆様にお聞きしたいのですが。。m(_ _)m あるシートで作成したデータ(罫線等は入れてません。セルに入力したデータのみです)を、一番上の項目名のみまず最初に別シートにコピーしました。 そして元データでフィルタで抽出した間違いがあったデータのみ、複数の行番号をドラッグで選択して別シートにコピー&貼付けをしていたら、なぜか元のシートと列の数が合わなくなりました; 列の数は40前後と多いのですが・・・ 一番上の項目名と途中か合わなくなっていました(T-T) 普通に行を選択してコピー、そして別シートへ貼付けしていただけなのですが。。 こうゆうことってあるのでしょうか??? どなたか、どうかご教授ください。宜しくお願い致します。。 補足 ちなみに、ちゃんとコピー先のシートのA2(項目行の先頭の下の行)にコピーしたのですが・・。

  • エクセル2003使用:数式を別のシートへ貼り付け

    エクセル2003を使用しているのですが、A列からO列まで入っている数式を別のファイルのシートへコピーしたいのですが、通常、コピー→形式を選択して貼り付けを選ぶと、「数式、値、罫線を除く・・・」など、選択できる画面が出ると思いますが、貼付先のシートで形式を選択して貼付を選ぶと、画像のような画面が出てきてしまい、数式が貼付できません。何も選ばずに通常の貼付をすると、値だけが貼付されます。どうしたら、数式を貼付できますか?ちなみに、貼付先シートには、コピー元と同じ表が組まれています。

  • EXCEL VBA マクロ 別シートの空白行へのコピー

    すみません、、いくらやってもできません。どなたかわかるかた助けてください。 <質問内容> エクセルのsheet1、Sheet2があり、 Sheet2にあるデータをSheet1のA列の空白行に貼り付けするというマクロを組みたいです。 BVAを使って、Sheet1の任意のデータ(データが入っているところのみ)をコピーすることまではできましたが、Sheet2へのA列空白行へペーストができないでいます。 ※Sheet2は別会社で作成のため、シート保護されていますが、貼り付けたい場所はロックされていません。 保護されているがゆえにCtr+Gのセル選択は使用できない状態です。 すみませんが、明日までになんとかお願いいたします!明日中に作成、上司に渡す予定です。

  • エクセルの「リンク貼り付け

    今晩は、エクセル(Office 2002)についての質問です、宜しくお願いします。 エクセルでシート間、ワークブック間で、データーを貼り付ける場合に、貼付先のセルに貼付元のセルのセル番地を代入 (「=セル番地」と算式に代入)または、データーそのものをコピーしてやれば、自動的にリンク貼付になり、元のデータ ーを修正した場合は、貼付先のセルの内容は、新しいデーターに更新されます。 しかし、貼付けるときにメニュ⇒編集⇒「形式を選択して貼り付ける」というダイヤログを開くと「リンク貼り付け」を 選択できるようになっています。 この「リンク貼り付け」の意味はどのような機能なのでしょうか。 普通の貼り付けでも必ずリンク貼り付けになっているのに、この機能をわざわざ選択する場合とは、どのような場合 なのでしょうか。 また、リンク貼付にすると何が同のように違ってくるのでしょうか。

  • Excel データの一部を別シートにコピー

    Excelで、データ行のどこかをクリックし、ボタンを押したとき、その行を別々のシートに分類してコピーさせるマクロを作りたいと思っています。 このとき、コピー先のシートをA列のデータで区別したいのです。 1.クリックした行のA列のセルを判定し、そのセルのデータを読み取る方法 2.読み取ったデータ(文字)を、コピー先シート名に指定する方法 このマクロの記述方法を教えてください。よろしくお願いします。 コピー範囲を指定し、貼り付け先のシートをアクティブにできれば、あとは記録マクロをつないで作るつもりです。

  • 「セルにある値」名のシートのデータコピー方法

    初心者なのですが上司に頼まれてしまい、うまく作れなくて困っています。 いろいろ調べて下のところまで作れましたが、他にどうしたら良いかわからなくなりました。 やりたい事 ・「集計シート」のセル(B3からB15)に入力したシート名から  一部のセルをコピーし、順に「集計シート」に貼り付ける 例:「集計シート」のB3にA B4にB B5にC    B6には空欄(これ以上はシートなし)  「Aシート」の(G1:J5)を「集計シート」のB5を先頭に貼り付け  「Bシート」の(G1:J5)を「Aシート」貼付分の後に一行入れ貼り付け  「Cシート」の(G1:J5)を「Bシート」貼付分の後に一行入れ貼り付け  以上 疑問 「Do until」で空欄になるまで貼付を繰り返せない(混乱中) 「Aシート」の貼り付け後に一行空けて、貼り付けの繰り返し (これはまったくわからない) 行 = 3 Do Until Range("B" & 行).Value = "" シート名 = Range("B" & 行).Value '←ここがエラーになります Worksheets(シート名).Select   '←この2行がまずおかしい? コピーセル範囲 = "G1:J5" 貼付先シート名 = "集計シート" 番号 = "D6" 貼付先左上端セル = "D7" Range(コピーセル範囲).Copy Worksheets(貼付先シート名).Range(貼付先左上端セル).Paste Application.CutCopyMode = False Sheets("集計シート").Select 行 = 行 + 1 Loop End sub

  • エクセルで行を越えての貼り付け

    X1~X100に数値が入っていて これを5列で1行おきとか2行おきとかに 並べ替えたいのですがアドバイスお願いいたします データーが100くらいなら良いのですが もっと多いので簡単な方法をアドバイスください X1~X100に数値 A1~E1に X1~X5 A1=X1 B1=X2 C1=X3 D1=X4 E1=X5 A5~G5に X6~X10 A5=X6 B5=X7 C5=X8 D5=X9 E5=X10 と言う風にしたい A1:E1をコピーして間に3行挟んでA5:E5に貼り付け するとデーターが A5~G5に X5~X9とずれてしまいます 4行挟んでコピーすれば正しく貼り付けますが 1行挟んでも2行挟んでも3行挟んでも 何行挟んでも良いようにするには どうすれば良いでしょうか よろしくお願いいたします。

専門家に質問してみよう