• 締切済み

【VBA】マクロについて

【VBA】マクロについて質問です。 マクロで複数のシートの特定のセル(A5(日付)、A7(社名)、B3(担当者)など)を別ブックのひとつのシートにまとめて、 日付 社名 担当者 シート1 A5 A7 B3 シート2 A5 A7 B3 シート3 A5 A7 B3 のように下へ下へ積み上げていくにはどうゆうマクロを組めばいいでしょうか。 同じ作業を複数のファイルで行わなければいけないため、マクロを組みたいのですが、よくわかりません>< ファイルによってシートの数が違うので、それにも対応すると有難いです。 どうぞよろしくお願いいたします。

みんなの回答

回答No.4

> 別ブックにまとめ用のフォーマットを作成してあるので、その中のシートにまとめたいのですが、できま > すか? そのまとめ用の別ブックにVBAをコードし、まとめる必要のあるブックを、VBAからopenすればいいだけだと思います。 http://officetanaka.net/excel/vba/file/file05.htm

  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.3

>仕事で急いでやらなければいけなかったのですが、このマクロが無事組めたら勉強しようと思います。 急いでいるなら正しいカテゴリーで質問するといいですよ。 と言うことです。 VB、 Visual Basicとマクロは違うのでこの質問は締め切ったらどうでしょう。 回答も期待できないと思います。

回答No.2

ActiveWorkbook.Sheets.Count で対象ブック内のシート数が取れます。 Dim sheet As Variant For Each sheet In ActiveWorkbook.Sheets MsgBox sheet.Name Next とかでもいいでしょう。 その中で、まとめるシートの名称などを比較して、そのシートだけは処理しないようにすればいいと思います。 あとはCellsやRangeなどで値を取得して、まとめるシートの対象セルへ値を設定すればいいだけです。 A1を基準に最終行を求めたい場合は Cells(1, 1).SpecialCells(xlLastCell).Row とすればいいです。 そこから+1すれば、追加すべき行を求めることができるでしょう。

niconico0210
質問者

補足

別ブックにまとめ用のフォーマットを作成してあるので、その中のシートにまとめたいのですが、できますか?

  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.1

VBAとVBは違うものなので、まずはそれを理解するところから始めたらいいでしょう。

niconico0210
質問者

お礼

仕事で急いでやらなければいけなかったのですが、このマクロが無事組めたら勉強しようと思います。

関連するQ&A

  • VBA コピー&ペースト

    次の作業をVBAでマクロを組みたいのですが、どのような構文にすればよいでしょうか。VBA初心者のため、お知恵を拝借させてください。 [目的] 1.ブックA(コピー先)に設定したハイパーリンク先のブックB(コピー元)へジャンプ 2.ブックBへジャンプ後、特定のセルの値をコピー 3.コピーした値をブックAの特定セルへペースト 4. 1.~3.の作業をリピート 対象は、上の作業が未完(ブックAのペースト先のセルがブランク)のもの [詳細] ・ブックB(リンク先)の保存先はサーバー ・リンク先はブックBの特定のシート ・ブックAで設定したハイパーリンクのセルの値がリンク先のシート名 ・ブックBは複数、リンク先のシートも複数(ハイパーリンクごとにリンク先が異なる) ・ブックBにはマクロが設定、開くたびにマクロ有効無効のメッセージ(Excel2003のため) ・コピペする項目は3つ ・ブックA,Bともに開いた状態で、2.~4.のリピートというマクロでも構いません。 以上ですが、他に情報が必要でしたらお申しつけください。 よろしくお願いいたします。

  • エクセルマクロで日付検索について

    エクセルのマクロで日付を検索するマクロについて質問です。 ブックAのシート1のA列に A1 2017/3/13 A2 2017/4/1 A3 2017/4/19 A4 2017/5/16 A5 2017/7/17 A6 2017/9/5 というような日付が入っています。 ブックBのシート1のA1セルに2017/6/3と入力してマクロを実行した際に その日付に一番近い一つ前の日付を探し、見つけた日付のB列のセルを ブックBのシート1のA2セルに表示したいです。 今回の例であれば2017/6/3に対してブックAのシート1のA列はA4セルが当てはまり その当てはまったA4セルの1つ横のB4セルの内容をブックBのシート1のA2セルに表示するということです。 よろしくお願いします。

  • これはマクロ、VBAが必要ですか?

    データベース用のエクセルファイルに10年間の気象データがあります。 列A   B    C   D 日付  天気 最低気温  最高気温 別のBOOKのシートに 任意の期間(可変)を設定できて、その期間をデータベースから検索し A~D列に表示したいと思ってますが マクロ、VBAを使った方が良いでしょうか? マクロ、VBAは未経験なのでまずはフリーソフトをいろいろ探してます。使えそうなものをご存知ありませんか? VBAも必要があればこの機会に少し学びたいとも思います。 ちなみに10箇所の地域で解析するので、やはりそれぞれBOOKを作った方がいいですよね? どうかよろしくお願いします。

  • エクセルマクロのことです

    通常使っていたマクロを間違えて消してしまい、その上再構築できなくて困っています。 こんなマクロだったですが。 ブック内に複数のシートが入っています。新しくSheetを追加してA2セル(他のセルの時もあります)をアクティブにします。 Alt+F8→実行でA2セルから下へ、そのブック内の全ての「シート名」が書き出されるというマクロだったのです。 マクロ初心者です、どなたかアドバイスをお願いします。

  • エクセルマクロの作成

    VBA初心者です。例えばSheet1のセルA1に日付が入っているとしてマクロでその日付をm.yyの形で名前を付け、なおかつ元のファイルがあった場所もしくは特定の場所に保存するにはどのように記述すればよいですか?

  • 複数ファイルからデータを一括コピペするマクロ

    同じブックの中に複数ファイルがあります。ファイルはどれも同一のフォーマットです。 それぞれにシートが3つあるのですがこの3つの中のシートの中の1つのシートのA1からA10と B1からB10のデータを抽出してきて同じブックの中の「まとめ」とあるシートのB1:K1・B2:K2に縦横変換してコピペをしたいです。 ファイルが60くらいあるので繰り返し開いてコピペしての作業が大変なので これを繰り返し下どんどんファイルからコピペしたいです。 1つのファイルから2行まとめにコピペするのですが、マクロで簡単に作業できる方法はないでしょうか? またファイル名をまとめシートA1にも記載したいのですが、可能でしょうか? 記録マクロで作成しようと思ったのですが複数ファイルを次々「まとめ」シートに羅列ができず。。 お力を貸していただきたいです。 よろしくお願い致します。

  • 【VBA】マクロについて質問です。

    マクロ超初心者です。 取引先との面談の記録を残しているファイルがあり、その中の何個かの特定のセルを別のファイルに積み上げる形式でコピーしたいです。(全シート分)(シートの数はファイルによって違います) コピーしたい特定のセルをA1~A5までに貼り付けて、 次のシートはB1~B5と、項目ごとに下へ下へと貼り付けるようにしたいです。 取引先のファイルには複数シートがあり、フォーマット自体はすべて同じです。 現在以下マクロを組んでいます。 Sub 移行実験 Dim oldWB As Workbook, newWB As Workbook Dim I As Integer, s As string, xFile As String With Application.FileDialog(msoFileDialogOpen) .Title = "変換ファイル選択" If . Show = True Then xFile = .SelectedItems(1) Else Exit Sub End If End With Set oldWB = Workbooks. Open(xFile) Set newWB = Workbooks. Open(ThisWorkbook. Path & "¥新.xlsx 'ここに複数シートの内容を別ブック(新.xlsx)のひとつのシートにまとめるマクロを入れたいです。' newWB. SaveAs Filename:=ThisWorkbook.Path & "\" & _ oldWB.Worksheets(1) . Range("A1") . Value, FileFormat:=xlWorkbookNormal oldWB. Close False: newWB. Close False End Sub もっとこうした方がいいと思う所や、修正する箇所もあれば教えていただけると幸いです。 マクロ初心者のため、分かりやすく教えていだだけると有難いです。 どうぞよろしくお願いいたします。

  • Excelマクロ。複数ファイルから特定セルの抽出

    Excel2003を使用しています。 あらかじめ特定のセルにデータを入力してそのデータを元に計算。 それらのBookは日付ごとに1つのBookとなっています。 今、各Book(ファイル?)から計算されたセルのデータを抽出し、 新しいBookにそれらのデータを順に並べたい。 具体的には A列:Book名(日付) B列:各々のBookの特定のセル C列:以下、同様 ・ ・ ということを考えています。 いろいろ調べてみると、マクロないしVBAを用いるとよさそうだ、 ということは分かったのですが、知識が乏しく難航しています。 なにか参考になるページないし、やり方とうアドバイスいただけますでしょうか。

  • VBA 複数ブックへ書き込み

    VBA初心者です。 1つのフォルダ内にある100(ファイル名001から100)個のエクセルファイル(ブック)の特定の場所(すべてのエクセル ファイルはファイル名は違うが、同一のシート名で同一のセルの構造になっている。 以上に対して、1つのもとになるファイルA(ブック、シート)の特定のセル(同一列の行を上から順次下る)セルの値を先の同一フォルダ内のエクセルファイル100(001~100)個に対して、ブックオープン、特定セルのデリート、特定セルへの書き込み、ブック保存という一連の作業を行いたいです。 多数のファイルから1つの集計ファイルに値を読み込んできて書き込むサンプルはあるようですが、逆に1つのファイルから同一フォルダ内の多数のファイル(ブック)の特定場所に書き込むためのサンプルコードを教えていただけると大変助かります。 以上よろしくお願いいたします。

  • エクセルVBA初心者です

    参考書籍を教えてください 質問1 会社でエクセルマクロを使う機会が増えました。大抵のことはマクロの記録で対応してますが、細かいファイル操作が出来ません。VBAを勉強する必要があると思ってます。何か良い参考書はありませんか? 質問2 ブックAでマクロAを作りました。マクロAの中で、ブックBのマクロBを実行させてます。マクロBは、計算結果としてブックB上に新シートを作成し、終了します。その後、マクロAに戻りブックBの新シート上のセル2個を選択しコピーし、ブックAにてペーストさせようとしてます。 マクロAはブックA上で「マクロの記録」で作成しました。 実行させると、マクロBの終了時点でストップするようです。 何がマズイのでしょうか?

専門家に質問してみよう