• ベストアンサー

エクセル マクロで別シートのフォームをコピーしたいのですが。

マクロの初心者です。 毎月送られてきますデータファイルに、定型フォーム(計算式の入った20行程度のもの)を追加したいと思っています。 毎月のデータが入っているファイルを開いておいて、 次に定型フォームのファイルを開き、コピーしたい行を選択・コピーするところまで出来たのですが、毎月のデータファイルが名前が毎月変更されるため、どのように指定をしてアクティブにしたらよいのかわかりません。 定型フォームのファイルをアクティブでなくする方法などがあるのでしょうか。よろしくお願いいたします。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

ANo.1です。 >貼り付けるブックのシート名=ファイル名となっており、 r.Copy wb.Worksheets("Sheet1").Range("A1") を r.Copy wb.Worksheets(Replace(wb.Name, ".xls", "")).Range("A1") で。 セル番地は修正して下さい。

kaori611
質問者

お礼

大変助かりました。 勉強不足でしたが、丁寧にご回答いただきありがとうございました。

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

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

定型フォームのブックにコードを書き込む。 貼り付けるブックのシート名・セルが同じであればSheet1・Range("A1")を適宜修正。 貼り付けたい範囲を選択してから実行。 Sub test() Dim wb As Workbook Dim r As Range Set r = Selection For Each wb In Workbooks If wb.Name <> ThisWorkbook.Name Then r.Copy wb.Worksheets("Sheet1").Range("A1") End If Next End Sub ご参考まで。

kaori611
質問者

お礼

迅速なご回答をいただきましてありがとうございます。 貼り付けるブックのシート名=ファイル名となっており、毎回変わります。このような場合はどのように指定したらよろしいでしょうか。 初心者で申し訳ありません。

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

関連するQ&A

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

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

  • エクセルのマクロを使用して

    マクロ初心者です。 エクセルでマクロを使用して次のようにやりたいんです。 ファイル1の入力画面にあるデータをファイル50にコピーする。 次にファイル2のデータの入力画面にあるデータをファイル50にコピーする。 以下ファイル49までのデータをコピーする。 コピー先のファイル50は行を変えて各データごとに横に展開する。 【ファイル1~ファイル49までの書式や行列幅、計算式はすべて同じです。データが違うだけです。】 【ファイル50ではコピーされたデータを使用して、また別の計算をやります。】 データをコピーするのはなんとなく分かるのですが、行をかえてコピーする方法が分かりません。空白行を上から探して、見つかったらその場所を起点としてコピーすればいいような気がしますが マクロに詳しい方よろしくお願いします。

  • エクセルでシートを追加するマクロについて

    マクロ初心者ですよろしくお願いします エクセルでシート1は名前などの入力用、シート2はフォーム用として作成しております シート1のA1から最大でA20(変動あり)に名前を入力すると名前の数だけシート2のコピーが追加され、シート名も入力した名前に変更する場合のマクロはどうすれば良いのでしょうか? またシート2のB1にも入力した名前を表示させたいです ご教授お願いいたします

  • エクセルマクロでファイル名やシート名変更できない

    エクセルは初心者なのでマクロを自動記録して作成しています。 少しづつ動作を小分けにして記録して、まとめてボタンで連続実行させるようにしました。 (1)作成途中で失敗したら最初からの作業になると思い、 ある程度進んだら何度かファイルのコピーを作成して進めていました。 ある程度完成した時点でファイル名が「○○○4~コピー~」の様な名前だったので、正式に名前を決めて変更したらマクロの実行が出来なくなりました。(元の名前に戻すと実行可能) (2)またシートも複数のシートに跨って参照するようなマクロです。 シート名を分かりやすい名前に変更したらこの場合もマクロ実行できなくなりました。 (3)コピーしたファイルもマクロ実行できないものがあります。 コピーしたファイルはマクロ実行できないのでしょうか? (4)ファイル作成途中で何かの変更が生じて列や行の挿入を行った場合、 特定のセルを参照して計算するマクロは実行できなくなるのでしょうか? その場合、簡単に修正する方法はありますか? 初心者にも分かるような回答をよろしくお願いいたします。

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

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

  • 特定の行を選択して別のシートにコピーするマクロ

    指定した行と、 特定の文字(複数)がある行を 全て選択し、別のシートにコピーする マクロをお教えいただけませんか?  選択したい行は(同じシートで)  必ず3行目と、  A列に『ABC』、『DEF』という文字がある全ての行です。 このようなマクロはどのように作ればいいでしょうか? マクロに詳しい方、お知恵をお貸し頂けませんでしょうか?

  • エクセルのVBAでデータをコピーしたい

    1つのエクセルファイルには名前(社員全員分)と各人のデータが 複数書かれた行が入っています。 もう1つのエクセルファイルには名前(一部社員分)だけが入っていて データの部分が空白です。 名前を基準に前者のファイルから後者のファイルへ必要なデータを コピーしたいのですが非常に手間で遅々として進みません。 後者のファイルは名前の選び方や入力したいデータの種類で 複数のパターンがあって既に定型のものが出来上がっているので 変更できません。 データを入力すべきところに値だけコピペしたいです。 マクロを勉強し始めたのですがなかなか理解が進んでいません。 両方のファイルを開いて指定したセルをコピペすることは出来るのですが、 該当するデータをVLOOKUPのように選び出すにはどうすればよいのでしょうか?

  • エクセル2000 マクロ

    エクセル2000を使用しています。マクロを使って定型の入力フォームへの入力を素早く、正確に行えるようにしたいと思っています。 「申請書」と「標準事務用品」の2種のシートに分かれており、「申請書」が定型の入力フォーム、「標準事務用品」は入力フォームに反映させたいデータが一覧になっています。 「標準事務用品」のデータの一覧は5つの項目があり、左から1.品物 2.商品名 3.品番 4.メーカー名 5.申請 となっています。 5.申請の列はオプションボタンを1行ごとに1つ設けてあり、オプションボタンがオン(True)の時に、同じ行の1~4の項目のデータを「申請書」シートの入力フォームの任意のセルへコピーしたいです。 何かよいマクロの記述方法はありますでしょうか。

  • コピーするExcelマクロを作りたいです(2)

    「コピー元」ブックから「コピー先」ブックにコピー&ペーストを 行うマクロを作りたいのですが、列の計算が複雑で困っています。 Excelブックのキャプチャ画像を加えて再投稿します。 画像ではシートになっていますが、画面左のシートのような表から 右のシートの当てはまるセルにデータを写すようにお考えください。 「コピー元」ブックは月に一度ダウンロードするデータで、ピボット テーブルです。一月ごとに、前月の列が各営業所ごとに増えていき ます。行には、商品ごとの売上げが入力されています。 また、各営業所ごとに、年度合計列があります。(営業所の数は10 前後、商品の行は50以上はあります。) 「コピー先」ブックは、あらかじめ年度末までの行列セル、合計列が 用意されていて、「コピー元」ブックからデータを移動してくるのみ でレポートとして毎月提出する体裁です。 単純にコピーするだけならばよいのですが、毎月各営業所一列ずつ 増えていくというのが式にして表せません・・・また、できる限り 数値の変更を最低限にして、毎年度利用できるマクロにするという 希望もあります。 ご面倒かと思いますが、お力を貸してください。

  • Excel,マクロ別シートからフォームに名前付保存

    以下通りの作業を自動化するVBAに関する質問です。 <Excelバージョン> Excel2013 <状況> 「Sheet1」に契約No.(連続数字でない)ごとのデータリスト。1行に1契約No. 「Sheet2」に定型帳票。A1セルに契約No.を入力。各項目は契約No.に紐づくVLOOKUP関数で可変となっている。 <必要仕様> 1クリックマクロで 「Sheet1」の全データを1行ずつ「Sheet2!A1」に契約No.を当てはめ、それぞれの「契約No.」をファイル名にして、指定フォルダに、1枚ずつPDF形式で保存。 このような仕様を満たすVBAをご教示いただけると幸いです。

このQ&Aのポイント
  • 基板と筐体のグランド取り方について回路設計中の初心者です。外部インターフェースと内部回路のグランドを分けたいですが、どちらが良いでしょうか?
  • 基板に外部インターフェースがあり、コネクタのグランドと内部回路のグランドを分けたいです。GND1とGND2のどちらを筐体グランドに接続するべきでしょうか?
  • 基板と筐体のグランド接続について質問です。外部インターフェースと内部回路のグランドを分けるため、GND1とGND2のどちらを筐体グランドに接続するべきですか?
回答を見る

専門家に質問してみよう