• ベストアンサー

Excel保存時に任意セル値をファイルのプロパティと別ファイルに転記するマクロは?

会社でExcelのテンプレートから見積書を作成して、保存した後、ファイルのプロパティと、別に作成している「見積書データベース」ファイルに転記しているんですが、時間がかかるので、自動化出来ないか悩んでいます 理想はファイルの保存時に自動的に転記することなんですが 1、ファイルのプロパティの概要タブの中の「タイトル」、「表題」、「カテゴリ」、「コメント」の中に任意セルの値を転記 2、別に作成している「見積書データベース」ファイルの各項目に任意セルの値を転記 この2つが出来るようなマクロ、もしくはエクセルの機能は無いでしょうか?

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 #1のzap35さんのアドバイスを、この私が繰り返してもしょうがないのですが、 >あらかじめ用意している見積書のテンプレートファイルを開き、1つの見積を1つのファイルにして、1つのフォルダに保存していきます。 マクロのコードを書くというのは、ちょうど、車で目的の場所に行く道順を描くようなものだと思います。 今は、お買い物リストを渡されて、自宅に帰りたいと言われているだけのような気がしています。 zap35さんの「マクロを掲載して、どう直せばよいか再度質問されたらいかがでしょうか」という意味は、道順の個々の中継地や目的地を知るうえの材料になるからで、マクロが完全に出来るというものとは違います。また、「プロパテイ」に関しては、単なるドアの開け方であって、それ自体が重要なのではありません。 回答者さんたちは、技術はあっても、知らない土地にいると思ってください。そのためには個々の場所や地名の情報が必要です。プライバシや機密の問題があって、それは仮の名前でもよいのです。もう少し、相手の事情を理解してください。サンプルを書くのがやぶさかではないのですが、それは無駄な繰り返しになる可能性が強いからです。 このようなことを書くのは、決して本意ではありませんが、何とかしてあげたくても、今は、どうにも出来ないのです。お分かりください。

nadasosou
質問者

お礼

まとめてお礼を言わせていただきます。回答が遅くなって本当にすいません。Wendy02さんの回答で、こんなことじゃダメだなと思って何とか自分でがんばって作って希望通りのものが出来ました。ご迷惑をお掛けしました

その他の回答 (3)

  • NCU
  • ベストアンサー率10% (32/318)
回答No.3

サンプルの作成依頼(マナー違反)に答える事になってしまうのでコードを書く事はできませんが、 1.ファイルの保存時に自動的に転記  BeforeSaveイベントが用意されています。 2.プロパティ  回答済 3.別ブックに転記  別ブックを開いて転記する操作をマクロ記録するところから気長にやって下さい。

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

1だけ。 With ActiveWorkbook .BuiltinDocumentProperties("Title") = Range("C1") .BuiltinDocumentProperties("Subject") = Range("C2") .BuiltinDocumentProperties("Category") = Range("C3") .BuiltinDocumentProperties("Comments") = Range("C4") End With 2の方はマクロの記録である程度できるでしょう。 うまくできないところがあれば、 そこだけを修正すればよろしいかと思いますが。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

ご質問の内容だけでご期待にそえるマクロは書けません。それは「見積もりデータベース」ファイルがどのようなものであるか回答する側には分からないし、どのようなルール(例えば最終行に転記など)も分からないからです ご自身でまず「ツール」→「マクロ」→「新しいマクロの記録」を選択し、普段行っている一連の転記作業を行うと、その作業通りのマクロができます。 それを繰り返し実行したときに問題が発生したら(例えば前のファイルの情報を上書きしてしまうなど)、マクロを掲載して、どう直せばよいか再度質問されたらいかがでしょうか

nadasosou
質問者

補足

それが・・・「新しいマクロの記録」でメニューの「ファイル」→「プロパティ」からタイトルとコメントを入力したのですが、記録されません。任意のセルの値を拾いたいのですが。 それと、転記の流れが説明不足ですみません。 まず、あらかじめ用意している見積書のテンプレートファイルを開き、1つの見積を1つのファイルにして、1つのフォルダに保存していきます。 そして、「見積書データベース」ファイルに、宛先、現場名、金額などを1つのファイルが1行になるように転記しています。 転記の方法はおっしゃるとおり、最終行に加えていって、見積書の内容を更新したときは見積書データベースのデータも追記ではなく、更新されるようにしたいのです

関連するQ&A

  • エクセルの特定セルを別へのブックに行方向に転記

    エクセル2010で、専用フォルダーに入っている複数のエクセルファイルの特定のセル(A1,B2,C3等)を別のブック(まとめ)に行方向に転記したいのですが。 まとめ用のシートの上の行から順に各シートのセル内容を転記していきたいのですが何か方法がありませんでしょうか? 例えば各ファイルに住所、TEL No、名前が決まった書式のセルに入っていて、これが毎月新規データとして追加されるのですが、別のエクセルシートに必要な項目のみ転記して、一覧表を作成したいのです。 現在は、1つずつファイルを開いて、目的のセルのコピペでまとめのシートに貼り付けて作業していますので、これより少しでも簡単な方法があれば教えてください。

  • 複数のEXCELファイルの特定セルを別ファイルへコピーする

    EXCELで作った見積書のセル内容を自動的に集めて、見積り一覧表を作りたいなと考えています。 見積書は1見積り1ファイル(シートは複数ありますが1枚目のシートが対象)になっていて、 各ファイルの1枚目のシートの特定セル内容(日付、相手先、件名、金額など)を 見積り一覧表として作成したEXCELシートへ順次コピーしたく思います。 動作イメージは 1.見積り一覧表を開いてボタンを押す等してマクロを起動。 2.同一フォルダー内の自分を除く全EXCELファイルを順次開きセル内容を一覧表へコピー。 3.全てのEXCELファイルを処理したら終了・・・。 発展系として、 ・日付条件で対象EXCELファイルを絞り込む。 ・特定セルに値が入っていなかったら(関係ないEXCELファイル)スキップ。 あとは一覧表が出来た後のソートくらいでしょうか。 まずは基本的な「自動的に複数EXCELを開いて特定セル内容をコピーする」のヒントがほしく思います。 なお、自動処理対象としたいEXCEL見積りファイルは約500本ほどです。 関連情報等ご存知でしたらお教えください。 よろしくお願いいたします。

  • エクセルのプロパティにあるハイパーリンクの基点が保存されません

    以下の点で困っております。 他の人が作成したエクセルファイルで、 ツールバーのファイル→プロパティ→ファイルの概要 にある「ハイパーリンクの基点」という項目に基点となる部分までの URLを書き込み、上書き保存して終了し、またそのファイルを開くと 入力したURLが消えてしまっています。 自分で最初から作成したエクセルで入力したときには消えないのですが、 これはなんらかの作成者による制限がかかってしまっているのでしょうか? (セル内の内容の書き換えなどは普通にできます) 使用しているエクセルのバージョンは2002です。 作成者のバージョンは不明です。 どなたかよろしくお願いいたします。

  • 初心者です。エクセルの「ファイル1」と「ファイル2」の別ファイルで そ

    初心者です。エクセルの「ファイル1」と「ファイル2」の別ファイルで それぞれのA-1セル同士をイコールで反映させることって できるんでしょうか?(「ファイル1」内の「シート1」と「シート2」では可能ですよね。)もしできるなら、 どのように公式したらよいか、解りやすく教えて下さい。 可能であると解ってる「シート1」に入力した値が「シート2」に反映するように作ってしまうと、シート2のみ更新して保存したくても「シート1」も もれなくついてきてしまいますよね。だから、別ブックで作成して あるセルの値のみ 別ブックのセルに入っていくようにしたいのです。PCはXPでエクセルは2003です。宜しくお願いします。  

  • データ追跡 テンプレートウィザードを使用時、名前をつけて保存するマクロ

    データ追跡 テンプレートウィザードを使用時、名前をつけて保存するマクロコード はどうかけばよいでしょうか? http://allabout.co.jp/gm/gc/3496/ を参考にしてシステムをつくり、転記に成功しています。 しかし、部署内で使用するため、誰でもわかりやすく使えるものにしたいのです。 それにあたって、下記の機能をつけようとおもっています。 見積書テンプレート内にボタンを設置し、それをクリックして、 任意の名前をつけて任意のフォルダにおさめ、 それと同時にデータベースの転記も行いたいのです。 具体的に、AA1セルの値をファイル名にして、 C:\Documents and Settings\natsuko\デスクトップ\mitsumori\log\" 以下にファイルを保存したいと思っています。 しかし、AA1の値がついたファイルが上記フォルダに保存されるものの、 見積書の内容がデータベースに転記されません。 マクロのコードは下記のとおりです。 大変申し訳ないのですが、迫っている業務に間に合わせたいと思い、 「すぐに回答を!」を選択しております。 助けていただければ幸いです。 宜しくお願いいたします! ※使用しているエクセルは2000です。 Sub 新規保存1() Dim fname fname = Range("AA1") & ".xls" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\natsuko\デスクトップ\mitsumori\log\" & fname, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close End Sub

  • エクセルプロパティのファイルの概要に

    会社でいろいろな意見を集めるために、無記名のアンケート帳票をエクセル2003で作りました 記入後OKボタンを押すと、指定したフォルダへ保存できるところまでマクロで作ってみました。 無記名のアンケートが出来ると思っていたのですが、よく考えるとプロパティの「ファイルの概要」に、作成者が残ることに気付きました これでは無記名アンケートになりません このファイルの概要に作成者を残さない、あるいは作成者の名前を消す方法はないのでしょうか?

  • エクセル マクロ 別シートへ自動転記

    お世話になります。 エクセルで元データシート(一覧表シート)からアルファベット毎に自動で別シートに転記したいのでですがマクロをどうやって作ればいいでしょうか?(出来ればファイルを開けた時に自動更新してほしいのですが。。) 基準になるのはローマ字でかかれている部品名で、それをアルファベットごとのシートに自動に転記されるようにしたいです。データはどんどん追加されていきます。 元データは以下のとおりです。 *データはB5セルから始まっています。  部品名  詳細  金額  ・・・  A56785 ねじ  ¥30   高田(株)  B13575 棒   \500 安田 C59975 柵 \200 鈴木(株)   以上よろしくお願いします。

  • 別シートに任意のセルを転記する方法について

    縦に6行ずつのデータがあり、これを横1行の別シートに転記する際に、 以前こちらで回答頂いた方法を応用したいと考えています。 =IF(INDEX(Sheet1!$Z:$Z,(ROW(A1)-1)*6+COLUMN(A1))=0,"",INDEX(Sheet1!$Z:$Z,(ROW(A1)-1)*6+COLUMN(A1))) アドバイスのとおり、上記の数式で見事に横にデータが転記できました。社員1人につき6行ずつのデータが縦にならんでおり、これを別の社員1人あたり1行で横に並んだデータにしたいというものでした。 1人目のデータは1行目を1列目に、2行目を2列目に・・・2人目のデータである7行目を1列目に、8行目を2列目に・・・3人目は13行目を1列目に・・・となります。 しかし、順次並べるのではなく、転記の必要にないデータを含むシートの任意のセルを選び、別シートの任意のセルへ転記する必要が生じたため、悩んで路頭に迷っております。。。 例えば、6行ずつのデータのうち、いつも3行目を別シートの5列目に。4行目は転記せずに、5行目を6列目に。また、6行目を7列目に転記せずに10列目に転記する。(8・9列目は、別データを入力するため空白にしたい) そして、社員2人目である7行目からは、上記と同じ規則で転記したい。 などというように、選んで転記する方法は何かありますでしょうか?? =INDEX(Sheet1!$Z:$Z,(ROW(B2)-ROW($B$2))*6+IF(COLUMN()=4,MOD(COLUMN(B2)-1,6)+1,MOD(COLUMN(B2)-1,7))) のようにしても上手くいきません。 何卒宜しく御願いいたします。

  • エクセルにて、ある表を別の表に転記したい

    エクセルに係る質問です。 2種類のエクセル表(表1と表2)があります。2つの表とも、担当者ごとの売上高を取引先別、販売ルート別、商品別に記入するための表ですが、表1はマスターの表と呼ばれ、全担当者ごとの全ての取引先ごとの、全ての販売ルートごとの、全ての商品ごとに売上高を記入できるセルが設けられた表で、一方、表2は毎月ごとの実績表と呼ばれ、実際に売上があった商品のみにつき、その売上高がどの担当者のどの取引先のどの販売ルートのどの商品を販売することで発生したかが分かる表となっています。(つまり、売上があった商品しかセルが設けられていません) ここで質問ですが、表2の内容を表1に自動的に転記するような方法は何かないでしょうか? (会社には販売管理ソフトがパソコンに入っていて、各営業担当者は毎日の売上高をそこに入力しています。このソフトにより毎月の担当者ごとの売上高をエクセルで出力することができるのですが(これが表2ですが、表2は自動的に作成されます)、この表2の結果を表1に転記する必要があるのです。 表1に転記する目的は毎月の結果を半年毎、1年毎に累計するためです。  営業担当者は100名近くおり、この作業を手作業で行うことは非常に困難です。 何とか自動的にこの転記が出来る方法(エクセル上で自動転記が出来る関数があるか? または、別のオフィースアプリと連携して出来ないか? または、別途ソフトを購入して出来ないか? 等々色々な可能性を探しています。) エクセルに強い方がいらっしゃったら是非アドバイスをよろしくお願い致します。

  • 色付きセルを別シートに転記するマクロ

    https://kirinote.com/excelvba-anothersheet-multicolor/ 上記URLのサイトを参考に、 Excelブック内の色付きセルを、別シートに転記するマクロを作成したいのですが、わからない部分があるため質問させて頂きます。 ① 'シートを変数へ格納 Set Sh1 = Sheets("Sheet1") この部分ですが、変数「Sh1 」に、一番右(末尾)にあるシートを格納する方法が知りたいです。(一番右のシートは名前が都度変更になるため) ② '3列分ループ For j = 1 To 3 こちらの部分ですが、別シートに転記したいセルの列が E、L、S、Vになります。 また転記後は1つのシート内に、転記前のシートのE列にあったものがC列、L列→E列、S列→B列、V列→H列に並ぶように転記したいです。 ③ '23行分ループ For i = 1 To 23 この部分ですが、最終行までループさせたいです。 質問に説明不足な点がありましたら、大変恐縮ですがご指摘頂けますと幸いです。 どなたか、お教えいただけますと助かります。よろしくお願いします。

専門家に質問してみよう