• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定シートの右にある複数のシートをひとつにまとめる)

複数のシートをひとつにまとめる方法

このQ&Aのポイント
  • 指定シートの右にある複数のシートをひとつにまとめたいと思います。
  • まとめたい対象のシートを指定し、それを行方向につなげることでまとめシートを作成します。
  • バージョンによってシートの数が変わる可能性があるため、柔軟な対応が必要です。

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

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.2

タイトル行の様式が異なる場合や、出力先の右側にデータシート以外が混ざった場合等のエラー対策はしておりません。 Alt+F11よりVBEを開き、挿入から新規標準モジュールを挿入して、最下のVBAコードを貼り付けてください。 VBEを閉じたのちに、出力先シート(まとめシート)を表示した状態でAlt+F8よりマクロ「sample」を実行してください。 また、本文に記載のない事は以下のように仕様を取りまとめて作成しています。 ・「指定シート」の指定方法が記載されていないため、表示(選択)しているシートに出力します。 ・出力シートより右側にあるシート全てが取得対象になります。 ・出力シートには予めデータと同じタイトル行(1~3行)が作成されているものとします。 ・集約方法は、タイトル行以外の行をコピー(書式込)になります。 ・各シートのデータ最終行が変動するかしないか記載されていないため、3行目から各シートの「A列」の最終行までをコピーします。 ・上記条件において、3~最終行にデータが無ければコピーしません。 ■VBAコード Sub sample() Dim i As Long Dim rmax As Long Dim tar As Worksheet Dim tmax As Long With ActiveSheet   For i = .Index To Worksheets.Count     Set tar = Worksheets(i)     rmax = tar.Cells(Rows.Count, "A").End(xlUp).Row     If rmax > 2 Then       tmax = .Cells(Rows.Count, "A").End(xlUp).Row       If tmax <= 2 Then tmax = 3 Else tmax = tmax + 1       tar.Range(tar.Rows(3), tar.Rows(rmax)).Copy .Rows(tmax)     End If   Next i End With End Sub

Keeper5016
質問者

お礼

ありがとうございました。 教えていただいたVBAを、 実際作成していたフォーマット用にアレンジしたら 求めていたことができました。 助かりました。

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

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

データシート「その1」~「その3」を順に、「まとめ」シート の左列からへ、その1からその3をそれぞれコピーし、貼り付けたらどうですか。といいたい。 多分こう簡単ではないのだろう。その実情を質問に書くのが質問文だろう。 ーー エクセルのデータに対する認識が少ない人のような質問の仕方ですね。 エクセルは列方向(右方向)に属性が並び、たぶん最左列に、それら属性の「主体」(人間、製品・物体、勘定などやそのID的なもの。例外的に地点や時刻など抽象的なものがありえる)だ来るデータの整理方法が多い。 そして「主体は」作表される時期で増減することが多い。 そういうことを説明しないでは、結合する場合のむつかしさが説明されず、回答のしようがない。 普通は氏名・物品や、その番号で2つのシートデータを結合すると思う。 そのためにはIDでソートして、そのIDでマッチングするのが、昔から使われるロジックなんだが、質問者はマッチングなど意識したことあるかな。 >・ブックの全シートが対象ではない ・対象シートが増えたり減ったりする は、さらに、次の段階の話だろう。 そのほかセル範囲的に長方形的に収まっているのか。第10行だけR列までデータがあるが、その他はQ列までとかのシートや行はないのか。列的に凸凹と言おうか。 ーー 一見した感じでは、VBAを使わないとスムーズに目的を達せられないと思う。 VBAができないなら、エクセルだけの質問カテゴリがあると思うので、そちらへできる方法がないか、質問を出したらどうか。 ーー 「まとめ」シートの完成した場合の、最上行の項目見出しだけでも書いて説明すべきだろう。さらにそれらの列データの内容概略(特徴、注意点)とかも説明必要かと思う。

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

関連するQ&A

  • EXCELで複数のシートを同時にピボットできないか

    複数のシートに分かれているデータを一度に選択してピボットを掛けたいのですが、可能でしょうか。 列数、列のヘッダーはそろえてあります。

  • Excel2003 ピボットテーブルについて教えて下さい

    Excel2003 ピボットテーブルについて教えて下さい Excel2003でピボットテーブルを作っています。 まず「ブックA」の「シートA-1」にあるデータをもとにして、 新規シート「シートA-2」にピボットテーブルを作りました。 その後、「ブックB」の「シートB-1」にあるデータでピボットテーブルを作ろうとしたのですが、 「シートA-1」「シートB-1」はフィールド項目も表示したい表の形もまったく一緒なので、 「ブックA」のピボットテーブルを流用しようと考えました。 なので「ブックA」のピボット「シートA-2」を、「ブックB」内にコピーして、 その後「ブックB」に新しくできたピボットテーブルの参照範囲を「シートB-1」のデータにしました。 ピボットテーブルは無事にできたのですが、 フィールド名の右の▼をクリックすると出てくるリストに、 「シートA-1」のものと、「シートB-1」のものが混じって表示されてしまいます。 「ブックB」のピボットテーブルには、「シートB-1」のものだけを表示したいのですが…。 フィールドのリストで要らないものを削除する方法、 または、そもそもピボットテーブルのコピー自体でもっと良い方法があったら教えて下さい。 よろしくお願いします。

  • Excel 2007 マクロ 複数シートの更新

    Excel 2007 マクロ 複数シートの更新 Sheet1に元データがあり、Sheet2以降に複数シートがあります。 複数シートにはSheet1を元データとしてピボットテーブルを作成しています。 下記はSheet2で行う作業のマクロです。 同様の内容がSheet3以降あります。 どのようにすれば複数シートを一括で更新できるようでしょうか。 Sub Sagyo() 'ピボットテーブル更新 Worksheets("Sheet2").Range("A1").RefreshAll   'A1を含むピボットテーブル表をA15にコピーして値貼り付け Worksheets("Sheet2").Range("A1").CurrentRegion.Copy Range("A15").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub

  • 複数のピボットテーブルを集計する方法ってありますか?

    エクセルについて質問なのですが、 それぞれのシートにある、同じ形のピボットテーブルを集計する方法ってありますか? ピボットテーブルの元のデータを使うのではなく、複数のシートにあるピボットテーブル自体を一つに集計が出来るようにしたいのですが・・・。 説明がわからなかったらすみません。 どなたかご存知でしたら、よろしくお願いします。

  • エクセル:別シートの複数ある同じデータを一発検索したい!

    長文ですみません。 家計簿を我流でエクセル管理しています。日々の支出のみのシートは、列に日を、行には摘要、数量、金額、分類、などを入れるスタイルです。日が前後してもあとで並べ替えできるのでどんどん思いつきで羅列しています。 ちなみにブックの構成は、上記の出納帳のようなシートのほかに、そのシートのデータを月別にわけた複数のシートと、携帯電話支払い金額や、保険、教育費、光熱費のそれぞれのシート、収入をまとめたシート、そしてそれらをリンクさせてきてまとめた合計金額シート、などからなっています。ピボットテーブルも月の締めくくりで使っていますが、これとはまた求めるものが違うので・・・。 質問事項は、上記の月別にわけた複数シートから、データの中で何度も出る品名について過去のデータの金額の傾向を調べたいのです。イメージとしては、別の画面上で検索ボタンに目的の品名を入れると、複数のシートから探してきてすべてを一覧表示させていついつに、どんな値段で購入されているかがわかるようにさせたいのです。簡単な関数なら扱えるようになっていますが、教えてください。わかりにくければまた補足いたしましう。よろしくお願いいたします!

  • エクセルで複数シートを一つにまとめる

    初心者です。 ブック内の複数シートを一つにまとめたくていろいろ調べています。 複数シートをもつブックがたくさんあるのでマクロか何かで簡単にできたら・・・と思っています。 http://it.kndb.jp/entry/show/id/1020のソースをコピーさせていただいたりもしたのですが、ダメでした。 きっとソースのどこかでブックを指定するなり個々に使用するために変える部分があるんだろうと思ってみたりしたのですが、どこを適応させればいいのかわかりません。 初心者でもわかるシートのまとめ方もしくはサイトがあれば教えてください。

  • Excel 一つのシートに複数データをまとめる方法

    エクセルの関数を使用し、複数シートの特定の複数セルを一枚のシートに順に書き出すことは出来るのでしょうか? シートはすべて同じ書式で入力されており値だけが異なります。どういった状況かというと、 一つのブックの中に4月1日から9月30日までのデータが一日1シートごと、合計で183シートあります。 それぞれのシートに1日の中でそれぞれ4項目何時間あったかをまとめたデータがあるので同じブックで新たな別のシートに183日分のデータのまとめを表示されるようにしたいのですがどうすればいいでしょうか?(画像参照) マクロや関数に関する知識はなく、関数はSUNやAVERAGEくらいしか使ったことがありません。 似たような質問を調べてみたのですが調べ方が悪いのかなかなか理解には及びませんでした。 もし参考になるサイトや質問等も教えていただけると助かります。

  • エクセルのマクロで複数のシートのコピー

    エクセル初心者です。 私の場合、3から5社のフォルダが作ってあり、それぞれ、エクセルで、日々の入出庫の管理&集計をしています。 3社のフォルダより、指定ファイル・シート内のデータをピボットテーブル用集計シートにコピー貼り付けしたいのです。 ピボットテーブル機能で複数のシートを選択するのはシート数が多すぎて手間。 マクロによって、集計シートにまとめてから、ピボットテーブル機能を使いたい。 各社シートのフォームは同じ.。 日付けを指定してコピー貼り付けしたい。 集計シートに各社連続で貼り付けがしたい。 集計シートの最初の行だけにタイトルを表示したい。 なるべく、フォームの行・列幅は変更しないようにしたい。 貼り付けたデータのユーザー名がわかるようにしたい。 なにとぞ、お力をお貸しください。 よろしくお願いいたします。 エクセル2003

  • シート内のピボットテーブル 全てを更新

    1つのシートにページに複数のピボットテーブルデータがあるのですが 更新ボタンを押すだけで、全てのピボットテーブルデータを更新したいです。 (元データは全て別です) よろしくお願いします。

  • Excelの複数のシートを整列表示したい

    Excel-XPで質問します。複数のブックを並べて表示することは知っているのですが、同じ要領で複数のシートを並べて表示できないでしょうか?教えてください。

このQ&Aのポイント
  • 妊娠希望者のための排卵日検査薬の使い方とは?
  • 排卵日検査薬の陽性反応にはどれを信じるべきか
  • 生理周期がバラバラな場合、排卵日の判断が難しい
回答を見る

専門家に質問してみよう