- ベストアンサー
エクセルVBAでの自動ファイル保存
エクセルVBAを使い入力したシート(ファイル)を、一定のデータが 入力された時点で指定した場所に例えば作成日をファイル名にして自動 的に保存していくようにしたいのですが、プログラムはどのようにすればいいのでしょうか? 実現させたいプログラムは、このような感じにしたいです。 1.VBAで指定シートにデータ入力→2.データ数10個で自動的に日付をファイル名にして自動的に保存→3.更に、データ10個追加された時点で前に作成されたファイルを自動で更新→4.データの入力完了で更に自動で更新 2~4のプログラムをご教授お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
(1)どのイベントでやるつもりでしょうか? シートのChangeイベントですかね。 (2)何をもって10個とするのでしょうか? 変更のあった行番号が10で割り切れたらとか。 (3)どうしたら入力完了と分かるのでしょうか? 以下は参考です。 (1)日付をファイル名 Format(Date,"YYYYMMDD") & ".xls" (2)名前を付けて保存 ThisWorkbook.SaveAs ファイル名 (3)上書き保存 ThisWorkbook.Save
補足
ご返答ありがとうございます。 説明不足の部分があったので補足させていただきます。 現在はユーザーフォームを使い入力していく状態でプログラムを組んで います。10項目くらいの項目を1行入力したら、コマンドボタン「入力」の クリックでシートの指定された行に転送するというものです。 (1)どのイベントでやるつもりでしょうか? そうですね、Changeイベントが適しているかと・・・。 (2)何をもって10個とするのでしょうか? 入力されたセルの行数が10行になったらです。 (例えば2行目から入力が始まったら、11行目の入力が 完了した時点でと考えています。 (3)どうしたら入力完了と分かるのでしょうか? データ入力が完了したら、ユーザーフォームに配置された 「完了」のコマンドボタンで終了となります。 (データの全入力数は毎回違います。) あと、もう一つお聞きしたいのですが、例えばデスクトップ上に指定して 保存する場合はどのようにプログラムしていけばよいのでしょうか? 宜しくお願いいたします。