• ベストアンサー

Excel VBAでのブックの保存方法について教えてください。

こんばんは。ExcelVBAのコードを教えてください。 マクロを含むブック(例:生産個数管理表)の3つのシートを、3シートとも新しいブックに移動し、「今日の日付」と「生産数」(例:20090818生産数)というブック名を付けて、元のマクロを含むブックと同じ場所に保存し、マクロを含んだブックは保存することなく閉じる。ようにしたいのですが、VBAではどのようにすればよいのでしょうか。 宜しくお願い致します。

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

  • ベストアンサー
回答No.2

簡単な方法は、別名で保存して終了することです。 この場合、マクロも一緒に保存されます。それでよければ↓。 with ThisWorkbook   .SaveAs Filename:=Thisworkbook.Path & "\" &Format(Date, "yyyymmdd") & "生産数.xls"   .close end with 新しいブックを開き、シートをコピーして保存するなら↓ Workbooks.Add ThisWorkbook.Worksheets(1).Copy before:=Workbooks(Workbooks.Count).Worksheets(1) With Workbooks(Workbooks.Count)  .SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yyyymmdd") & "生産数.xls"  .Close End With ThisWorkbook.Close SaveChanges:=False ワークシートコピーの部分は環境に合わせてやってください。

mugigohan
質問者

お礼

ありがとうございました。 これからたくさん利用させていただきます。

その他の回答 (1)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

マクロの記録でやりたいことを記録してみればいいと思いますよ ちなみに 今日の日付」と「生産数」(例:20090818生産数)は Format(Date, "yyyymmdd") & "生産数" です

関連するQ&A

  • Excel VBA の保存について教えてください

    VBAを始めたばかりです 会社で皆が使う入力表に、入力したものを.csvで他のファイルに書き出すなどのVBAで作ったマクロがあります。今保存先が、VBAを使ったときの保存先になっているのでこれを、個人用ブックに保存してアイコンを作って、ネットワークで誰がどのパソコンから開いても、マクロが実行できるようにしたいと思います。 保存先の変更方法を教えてください。 マクロの記憶をしたときのように、VBEも保存先を選べないのでしょうか? よくわからなくてすみません、よろしくご指導ください。

  • エクセルのブックをマクロ抜きで名前を変えて保存する方法

    よく使う表を名前を変えて保存していますが、初期のブックにマクロを設定したシートが有りました。しかしそのマクロが不要なので、マクロを無しで又は削除して保存したいのです。 ブックを開くたびにマクロの警告が出て不便です。 どなたか教えてください。

  • EXCEL VBA 新規ブック保存について

    フォームで作成したデータから、請求書などの帳票をシートに作成しています。 その請求書シートを、新たなブックを作成し、シートへ貼り付け セルC7(帳票名)    F11(コード1)    J11(コード2) この3つを合わせた名前で任意のフォルダへ保存して、閉じるようにしたいと考えています。 また、ブックの保存先を指定するにあたり 下の指定でコードを書いたのですが    C:\Users\××××××\Desktop\管理システム\帳票 システムを丸ごと違うPCに変えても、エラーが出ないようにするには この指定の書き方でも良いのでしょうか? まだ初心者なもので 二つのブックを行き来するコードで頭が混乱しています。 まだVBA勉強を始めたばかりで、質問方法も拙いところも多々あると思いますが ご教授いただけます様、どうぞよろしくお願い致します! 自分で書いたコードですが 考えすぎて、ちょっと支離滅裂になってしまい 恥ずかしいのですが藁にもすがる思いでご質問させていただきました Dim Newbook As Workbook   Set Newbook = Workbooks.Add   fileName = Range("C7") & "_" & Range("F11") & Range("J11")   Newbook.SaveAs fileName:=Worksheets("請求書").Range("C7") & "_" & Worksheets("請求書").Range("F11") & Worksheets("請求書").Range("J11") Windows("管理システム.xls").Activate Worksheets("請求書").Select Cells.Select Selection.Copy Windows("fileName").Activate Cells.Select ActiveSheet.Paste Range("A1").Select  ブック名 (元データ) 管理システム.Xls  シート名        請求書 追記: 本来はフォームから直接印刷を出したいのですが      フォームでは対応しきれない部分を、シート上にて必要に応じ手を加えてから、      出力したいと考え、今回のシートへの出力を考えています

  • VBAでブック内のワークシートを名前をつけて保存

    エクセルVBAで作業中のブックの一部のワークシート(2枚)を名前をつけて保存する方法を教えてください。 (例)  《ブックA》  sheet1 sheet2     sheet3 10/5     10個 10,000円    4個 25,000円 東京     25個 18,500円    6個 42,000円 というブックから『10/5 東京』というブックでsheet2,sheet3の内容を 保存したいのですが・・・ VBAは勉強し始めでほとんどわからないので教えてください。

  • エクセルVBAでブックを開きたいのですが、

    エクセルVBAでブックを開きたいのですが、 アクティブシートを別のブックに移動させたいのですが、 まず、目的のブックを開く → 移動させたいシート名を右クリック → 移動またはコピー を選択 → 移動先ブック を選択  というふうにしようと思っていますが、 Workbooks.Open Filename:= _ "C:\Documents and Settings\YUMIKO\My Documents\YYYY.xls" のようにファイル名を入れると開くことができました。 が、   Workbooks.Open Filename:= _ "C:\Documents and Settings\YUUKORON\My Documents\Range("F1").Value.xls" のように、アクティブシートの セルF1にファイル名を入れて、開きたいのですが、どうしても開くことができません。いろいろ調べて試しましたが、無理でした。 基本的にマクロで記録で作っている初心者です。 回答よろしくお願いします。

  • 【VBA】シートを別ブックにコピーして保存したい

    8つのシートのうち、 Sheets("マクロ") を除くすべてのシートを新規ブックにコピーし、ダイアログボックスを開いて名前を付けて保存させる→Thisworkbookを上書き保存せずに終了し新規ブック画面へ移動する マクロを作成したいのですが、どの様にロジックを組めばよいでしょうか。

  • Excel VBAで他のブックを選択する方法を教えてください。

    こんにちは。VBA初心者です。 ブックを2つ開いた状態で、 マクロを保存してあるブック〔Book1〕から、 毎回ブック名が異なる[Book2]の選択されている2枚のシートを新しいブックに(仮Book3)コピーしたいのですが、どのように記述したらよいのでしょうか。(選択されるシートも毎回異なります。) 特に教えていただきたい部分は、 1.マクロが記録されているBOOK1以外のBookを操作する方法。 2.私以外の方が利用する為、Book1に保存したマクロから実行させる予定なのですが、Book1を毎回開いて実行させる方法がベストのやり方なのでしょうか。 マクロの記録では下記の感じになります。 Sub Macro4() Windows.Arrange ArrangeStyle:=xlVertical Windows("Book2.xls").Activate Sheets(Array("Sheet3", "Sheet4")).Select Sheets("Sheet4").Activate Sheets(Array("Sheet3", "Sheet4")).Copy End Sub 宜しくお願い致します。

  • ExcelのVBAでブックの保存

    ExcelのVBAでブックを追加し保存を行っています。 その際、保存は、どこに行うのがよいのですか bookですか。sheetですか。 両方で、SaveAsができまが、使い分けがあるのでしょうか。 どのように使い分けするのでしょうか。 Workbooks.Add ActiveSheet.Name = "サンプル" ActiveSheet.SaveAs OutFileName ActiveWorkbook.SaveAs OutFileName ActiveWorkbook.Close

  • エクセルVBAでの保存方法

    ブック内のsheet1に計算式の入った表を別のブックに 名前を付けて保存するときに、計算式を取りたい 『表と値をコピーしたい』のですが、 どのようにすればよいですか?

  • vbaで新しいブックの作成と保存

    vbaで新しいブックを作成して、順番に1,2,3・・と名前を付けて保存したいのですがコードの書き方がわかりません。教えていただけないでしょうか。