• ベストアンサー

エクセルのマクロに関する質問です。

エクセル2010使用。 以下の動作をマクロで行いたいです。 「まとめ」という名前のシートを追加。 全てのシート(シート数は毎回違い、10~18くらいあります。シート名もバラバラです。 )のC列にあるデータ(データ数も毎回違います。)をすべて抜き出して、(C列のデータだけでいいです。他の列のデータはいりません。)追加した「まとめ」というシートのA列にまとめるというマクロを組みたいです。 どなたかご教示いただけないでしょうか?

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

  • ベストアンサー
  • zongai
  • ベストアンサー率31% (470/1474)
回答No.2

シートの追加、の部分が抜けてましたので、修正。 Sub sample() With Application .DisplayAlerts = False Sheets("まとめ").Delete .DisplayAlerts = True End With Worksheets.Add.Name = "まとめ" n = Worksheets.Count For i = 1 To n If Worksheets(i).Name <> "まとめ" Then Worksheets(i).Select Range(Cells(1, 3), Cells(Cells(1, 3).SpecialCells(xlLastCell).Row, 3).End(xlDown).End(xlUp)).Copy Worksheets("まとめ").Select Cells(1, 1).End(xlDown).End(xlDown).End(xlDown).End(xlUp).Offset(1, 0).Select ActiveSheet.Paste End If Next Sheets("まとめ").Rows(1).Delete End Sub すでに「まとめ」があれば強制削除して新規追加。 各シートC1~C行最終までを「まとめ」シートに貼り付けます。 あなたはどの程度の知識をお持ちなのでしょうか。 シート追加なんて特に難しいことではないし、web検索すればすぐ見つかると思いますが・・・。 質問?丸投げ?

その他の回答 (1)

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.1

Sub sample() n = Worksheets.Count Sheets("まとめ").Columns("A:A").Delete For i = 1 To n If Worksheets(i).Name <> "まとめ" Then Worksheets(i).Select Range(Cells(1, 3), Cells(Cells(1, 3).SpecialCells(xlLastCell).Row, 3).End(xlDown).End(xlUp)).Copy Worksheets("まとめ").Select Cells(1, 1).End(xlDown).End(xlDown).End(xlDown).End(xlUp).Offset(1, 0).Select ActiveSheet.Paste End If Next Sheets("まとめ").Rows(1).Delete End Sub とりあえず、これでどうでしょう?

関連するQ&A

  • excel、マクロについて教えてください。

    excel、マクロについて教えてください。 excelのマクロでシートを追加してシート名を変更し棚卸しに変更する内容を記録したのですが、 excelをずっと使用していてシートを追加していくとsheet1、sheet2と語尾の数字が増えていってしまい、マクロが正常に動作しません。 excelのシートを追加した際に必ずsheet1で追加する方法、若しくはマクロを記録した時はsheet1の名前を変更だったがsheet2でもsheet3でも動作するようなコードは存在しますか? 最近マクロをやり始めた初心者なので、質問が下手かもしれませんがどなたかお分かりになりましたら 教えていただけませんか?よろしくお願いします。

  • Excel VBAの質問です。

    エクセル2010を使用しています。 Excel VBA で二つのシートを比較して合致するレコードの行を削除する方法 値下げ,まとめのシートがありまして、 値下げ:b列に商品コードのデータ まとめ:a列に商品コードのデータ のようなExcelのデータがあります。 ここから、値下げのシートの商品コードを一つ一つ読み込みながら、まとめの商品コードと比較して、合致した値下げの商品コードの行を削除するプログラムを作りたいです。 商品コードのデータ数は毎回違い、値下げとまとめでも商品コードのデータ数は違います。 どなたかご教示いただけないでしょうか? よろしくお願いいたします。

  • エクセルのマクロについて質問です。

    エクセルのマクロについて質問です。 複数のsheet(毎回数が変わります)があり、集計シートにデータを貼り付けたいのですが 複数Sheetのデータを集計シートの1行に貼り付けます 複数Sheet1 J1→集計Sheet A2 複数Sheet2 J1→集計Sheet A3 複数Sheetが毎回数が違うので、どうのようにマクロを組んだらよいのでしょうか。 以上、よろしくお願いいたします。

  • エクセル・マクロ・・・シート名の取得等

    エクセル・マクロ・・・シート名の取得等 エクセルのマクロで質問です。 ほぼ初心者です。 社内データの処理をしたいと考えています。 マクロを組みたいエクセルブックの構成としては・・・ シート名一覧 集計シート 操作 という3つのシートがあり、 その後ろに各社員のデータシートがあります。 山田太郎 田中花子 ・ ・ ・ 部署により社員数が異なるためシートの4枚目以降は そのエクセルファイルによりシート数が異なります。 やりたいことは以下の2点です。 (1)シート名(社員名)の取得 シート名一覧に各シート名を一行ずつ入れて 一覧を作りたいです。 シート名取得&リスト化のマクロは大体わかりますが、 「シート名一覧」、「集計シート」、「操作」の3つのシート名は 一覧から外したく、どうしたらいいのかわかりません。 また、各シート名を取得した列の横の列に 各社員のシートにあるデータの一部(セルC5:C8)を 貼り付けたいです。 (2)集計シートに各社員のシートのD列の情報(D6:D43)を順に貼り付けていく。 シート名や数が固定されたものであれば何とかできそうなのですが、 不特定になるとどうしたらよいかさっぱりわかりません。 どなたかご教授お願いいたします。

  • エクセルマクロについての質問

    エクセルで以下のことが行いたいのですがVBのマクロを 利用すればよいのでしょうか? とても長い説明です。わかりにくいと思います。 マクロは初心者ですのでよろしくお願いします。 行いたいことは二つのエクセルデータを一つにしたいということです。 abc1.xlsの同じ名前がある行とacb2.xlsの同じ名前がある行の一部の 内容をコピーしてabc1.xlsへ同じ名前がある内容へ追加したいのです。 1.【abc1.xls】と【acb2.xls】という二つのデータがあります。 2. すべての作業は【acb2.xls】のある一部の内容を【abc1.xls、Sheet1】へコピーしたい。 3.【abc1.xls、Sheet1、A列】と【acb2.xls、Sheet1、AB~AP列】にはまったく同じ名前があります。 4.【abc1.xls、Sheet1、A列】とまったく同じ名前がある【acb2.xls、Sheet1、AB~AP列】を参照して  【abc1.xls、Sheet1、M列】に列を1つ追加して【acb2.xls、Sheet1】の【AB~AP】の同じ名前をコピーしたい。   ただし必ずしも同じ名前があるとは限らない。   また、万が一同じ名前がacb2.xlsに二つ存在する場合はabc1.xlsに行を追加し内容をコピーできるようにしたい。   (上書きされないようするため) 5. 上に続き【abc1.xls、A列】とまったく同じ名前がある【acb2.xls、AB~AP列】を参照して  【abc1.xls、Sheet1、M列】に列を2つ追加して【acb2.xls、Sheet1】【AとH列】をコピーして貼り付けたい。 6.【abc1.xls、Sheet1、A列】と【acb2.xls、Sheet2、U列】にはまったく同じ名前があります。 7.【abc1.xls、A列】とまったく同じ名前がある【acb2.xls、Sheet2、U列】を参照して  【abc1.xls、Sheet1、M列】に列を1つ追加して【acb2.xls、Sheet2】の【U】の同じ名前のみコピーしたい。   ただし必ずしも同じ名前があるとは限らない。   また、万が一同じ名前がacb2.xlsに二つ存在する場合はabc1.xlsに行を追加し内容をコピーできるようにしたい。   (上書きされないようするため) 8. 上に続き【abc1.xls、A列】とまったく同じ名前がある【acb2.xls、Sheet2、U列】を参照して  【abc1.xls、Sheet1、M列】に列を2つ追加して【acb2.xls、Sheet2】【OとR列】をコピーして貼り付けたい。 9.【abc1.xls、Sheet1、A列】と【acb2.xls、Sheet3、S列】にはまったく同じ名前があります。 10.【abc1.xls、A列】とまったく同じ名前がある【acb2.xls、Sheet3、S列】を参照して  【abc1.xls、Sheet1、M列】に列を1つ追加して【acb2.xls、Sheet2】の【S】の同じ名前のみコピーしたい。   ただし必ずしも同じ名前があるとは限らない。   また、万が一同じ名前がacb2.xlsに二つ存在する場合はabc1.xlsに行を追加し内容をコピーできるようにしたい。   (上書きされないようするため) 8. 上に続き【abc1.xls、A列】とまったく同じ名前がある【acb2.xls、Sheet2、S列】を参照して  【abc1.xls、Sheet1、M列】に列を2つ追加して【acb2.xls、Sheet3】【OとR列】をコピーして貼り付けたい。 以上よろしくお願いします。

  • Excelマクロで質問です。

    Excelマクロで質問です。 Sheet1にデータが入力されていて(ここでは100行入力されているとします)、 Sheet2のA2からE2に数式が入力されています。 ↓ この数式をSheet1のA列に入力されているデータ行数分プラス1(ここでは100+1) Sheet2のA3以降(A3からA103)にコピペするマクロを教えていただけないでしょうか。 100は、毎回変化します。

  • Excel マクロ データ集計

    Excel マクロ データ集計 Sheet1にある情報を集計して、集計結果をSheet2に貼り付けるマクロを考えています。 「Sheet1」のA列、B列、C列が合致した場合に同じ商品とみなします。 C列で「新鮮」とついている場合には、商品名で一致させて、Sheet2の 同じ商品名のところに記載します。 「Sheet2」に貼り付ける際、「Sheet1」のA列は不要です。 どのようなマクロを作成すればよろしいでしょうか。 画像を添付します。 「Sheet2」は完成形です。

  • エクセルマクロについて質問です。

    エクセルマクロについて質問です。 質疑応答形式で、指定した列(6月在庫数)などを別のシートにコピーし貼付ける場合と別シートのシート名を指定した列の月名「6月」にしたくこれを毎月行うのですが、どうしたらいいの 補足 質疑応答形式とは、エクセルのVBAでユーサーフォームを使って「何月締めですか?」のように質問され、月数を入れるとコピーし貼付ける感じにしたいのですが....又、例として簡単な表を貼付しましたが実際にはもっとデーター量が大きいですのでどちらかというとセルの一つ一つの関数より VBAを使用したマクロの方がと思ったのですが.....

  • エクセルマクロでマクロをアクティブにしたくない

    エクセルのマクロをひとつの「マクロA」という名前で、データーファイルからセルに入っている内容などを呼び出しながらまくろAのシートにデーターを貼り付けながら作業をしています。 Workbooks.Open Filename:= _ "C:\Documents and Settings\owner\My Documents\マクロ.xls" Application.Run "マクロ.xls!マクロ" と記載すると、マクロXLSがアクティブになってしまいます。 その為記載に'ActiveWindow.WindowState = xlMinimized と入れたりするのですが、アクティブになるシートがマクロ以外にうまくいかないことがあるのです。 データーシートは、毎回データーが変わる関係で、DATA.xlsがAのときやBのときが発生します。

  • マクロについて

    エクセルのマクロについて質問です。 シート1にデータが入っており A列に入っているデータを営業所ごとにまとめて抽出し 雛形シートをコーピーしてデータを貼り付け、シート名をA列の営業所名にしたいのですが 可能でしょうか? 例えば  A列       B列  C列   東京営業所  30個  500円  大阪営業所  10個  200円  東京営業所  5個   100円 ↓↓↓  A列       B列  C列   東京営業所  30個  500円  東京営業所  5個   100円   シート名 東京営業所 ---------------------------------------  A列       B列  C列   大阪営業所  10個  200円   シート名 大阪営業所 毎回手作業で、どなたか教えていただけますと助かります。

専門家に質問してみよう