• ベストアンサー

Bookの更新マクロ

現在、D:¥たかし\撤回18年.xlsで10シ-トほどがひとつになったBook(撤回18年)でデ-タの入力作業をしているのですが、年度が変わるために初期画面上に更新マクロボタンを作り、デ-タが入力されたシ-ト(入力シ-ト)内容をクリアして、同じフォルダ(たかし)内に別のBook名(撤回19年)が出来るマクロを考えているのですが、うまくいきません。 Sub 更新() ' ' デ-タ入力内容を消去 Sheets("入力シ-ト").Select  Range("B3:T65536").Select Selection.ClearContents   Worksheets("初期画面").Activate  Range("A1").Select ’更新後の新しいブック(ファイル)の作成  Workbooks.Add    ActiveWorkbook.SaveAs Filename:="D:\たかし\撤回19年.xls",    FileFormat:= _ xlNormal, Password:="", WriteResPassword:="",         ReadOnlyRecommended:=False _ , CreateBackup:=False End Sub

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

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

#02です。それでは以下でどうでしょう Sub 更新()  ActiveWorkbook.SaveAs Filename:="D:\たかし\撤回" & _      Application.Text(Date, "e") & "年.xls"  Sheets("入力シ-ト").Range("B3:T65536").ClearContents  ActiveWorkbook.Save End Sub 先にRange("B3:T65536")をクリアしたらH18年度のシートのデータを消すことになりますから、うっかり上書きするとデータを消してしまいます。そこでSaveAsしてからH19年のシートのデータをクリアするようにしました

hirosatonn
質問者

お礼

ありがとうございました。 希望するものができました。

その他の回答 (2)

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

Workbooks.Add は不要です 以下でどうですか? 前者は撤回19年.xlsが開いた状態になります。後者は撤回18年.xlsだけが開いた状態になります。 でも1年に1回しか行わない処理で、しかもVBAにファイル名を固定で持たせたら20年になるときにはコードを書き変えないとなりませんよ。 ファイル名はDateから取得するほうが、後々使えると思います。 Sub 更新() ' デ-タ入力内容を消去 Sheets("入力シ-ト").Range("B3:T65536").ClearContents ActiveWorkbook.SaveAs Filename:="D:\たかし\撤回19年.xls" End Sub Sub 更新() ' デ-タ入力内容を消去 Sheets("入力シ-ト").Range("B3:T65536").ClearContents ActiveWorkbook.SaveCopyAs Filename:="D:\たかし\撤回19年.xls" End Sub

hirosatonn
質問者

お礼

早々の回答ありがとうございます。 >20年になるときにはコードを書き変えないとなりませんよ >ファイル名はDateから取得するほうが、後々使えると思います はい。後々使えるようになればと考えてます。 :="D:\たかし\[$-411]ggge"年".xls" でいいんでしょうか。 じゃないですよね。 あつかましくてすみません。ご教授お願いします

hirosatonn
質問者

補足

早々の回答ありがとうございます。 >20年になるときにはコードを書き変えないとなりませんよ >ファイル名はDateから取得するほうが、後々使えると思います はい。後々使えるようになればと考えてます。 :="D:\たかし\[$-411]ggge"年".xls" でいいんでしょうか。 じゃないですよね。 あつかましくてすみません。ご教授お願いします。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>うまくいきません。 何がどうで「うまく行かない」のでしょうか? >’更新後の新しいブック(ファイル)の作成  Workbooks.Add なら、新規の空のブックが作成され、それが保存されてしまいます。 撤回18年.xlsをひな形にしているのなら、この部分は不要かと思います。

hirosatonn
質問者

お礼

早々の回答ありがとうございます。 >何がどうで「うまく行かない」のでしょうか? そうですね、すみません。

関連するQ&A

専門家に質問してみよう