• ベストアンサー

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

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>vbaで新しいブックを作成して、順番に1,2,3・・と名前を付けて保存したい ○1,2,3…とループを行う ○新しいブックを作成する ○名前を付けて保存する sub macro1()  dim i as long  for i = 1 to 3   workbooks.add   activeworkbook.saveas filename:="c:\test\" & i & ".xls"   activeworkbook.close false  next i end sub みたいな。

omigawamachi
質問者

お礼

ありがとうございます。 うまくいきました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

答えは出たようですが、こんな質問は、ここに質問するまでも無く、とりあえず1回の操作(新しいブックを作成して、名前を付けて保存)をしてマクロの記録を取り(勉強し)、全体を必要回数繰り返せば良い。 ただし、 人に頼っていたら上達しない。 ・繰り返しの終了をどうするか。 ・毎回の名前をどうするか(本件は連続番号らしいが、それでももし売上1、売上2、・・とつけたいだったらどうするか判りますか。 ・肝心のブックに対する処理をどうするか。 などの勉強が必要です。

関連するQ&A

  • エクセル2003VBA 新規ブックを作成、保存の時に

    いつも勉強させていただいております。 今回、VBAで以下の事をできるのかな?と思い質問させていただきました。 まず、VBAで以下の動作を作成しました。 Aファイル、データーベースCSVファイル Bファイル、VBA記述ファイル 1)Bファイルから、Aファイルを開いて、検索、条件に合うデーター を配列で抽出。 2)新規ブックを追加 3)新規ブックに抽出したデーターを書き出し と言うVBAを作成しました。 で、質問なのですが、新規ブックは保存するか、しないかがその時々に よって任意でするため、VBAで保存の所までは作成していないのですが 、保存する場合、ファイル名に規則性を持たせたいため、ファイル保存 をしたときに表示させる初期ファイル名をBファイルのVBAから変更 させる事はできるのでしょうか? 新規ブックを保存するとき、初期ファイル名は「Book1.xls」となって いると思うのですが、この値を変更することってできますでしょうか? もし可能であれば、ヒントや参考になるHPなど教えていただけないで しょうか。

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

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

  • EXCEL VBAでファイルを保存しないで閉じたい

    EXCEL VBAでファイルを保存しないで閉じたい EXCEL VBAでコードを書いています。ワーク用EXCELが必要で、新規ブックを作成しています。 新規ブックで処理をさせた後に自動でブックを閉じたいと思っています。 そこで, WB.QUIT WB.CLOSE True と書いたのですが、新規ブックは閉じずにそのまま残っている状態です。 これを保存しないまま閉じるにはどのような処理が必要でしょうか?

  • 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は勉強し始めでほとんどわからないので教えてください。

  • 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をいじっています。仕事の効率を上げるために、VBAで自動化をしていますが、わからないことがありますので教えてください。 月ごとのシートを作成して、その月に完成させたプロジェクトのリストを入力するブックを作り、各契約者に配りたいと思っています。そのブックには、報告書提出を簡素化できるように、作成したい該当月のシートだけを抽出して決められた名前で保存し、電子メールに添付して送信できる状態にした報告書作成のプログラムを組んでいます。が、抽出されたシートだけのブックを、オリジナルのブックがあるフォルダと同じところに保存したいんです。"名前を付けて保存"をVBAに設定すると、絶対パスが必要な要ですし、もしも指定しなければ作業フォルダ(カレントフォルダ)に保存されるようですが、何とかしてオリジナルのブックと同じフォルダに保管できないものでしょうか。 どうぞよろしくお願いします。 ちなみに、下記が自分なりにやってみたものです。 --------------------------------- Private Sub CommandButton1_Click() Dim myName As String Dim pasu As String With ListBox1 If (.ListIndex = -1) Then MsgBox "提出用報告書を作成するシートを選択してください" Else Worksheets(.List(.ListIndex)).Select pasu = ActiveWorkbook.Path ActiveSheet.Copy myName = ActiveSheet.Name ActiveWorkbook.SaveAs Filename:= _ "" & myName & "" & Application.UserName & ".xls" _ , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Unload UserForm2 End If End With End Sub

  • ExcelのVBAでブックの保存

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

  • VBA 前月の月の名前でブックを保存

    VBA 前月の月の名前でブックを保存 お世話になっております。 上記の通りです。 今月の月で名前は保存できるのですが、先月の月にすることは可能なのでしょうか? *001.東京 7月分    ↓ *001.東京 6月分 //////現在使用しているコード//////// Dim Filename As String Filename = Range("K1") & "." & Range("A3") & Format(Date, "mm""月分") & ".xls" ActiveWorkbook.SaveAs "保存先" & Filename ActiveWindow.Close 宜しくお願い致します。

  • excel2007 新規ブック作成時のvba処理

    excel2007にてVBA処理を行っています。 vbaにて 新規ワークブックを作成 最初に開いているワークブックのシートを、新規ワークブックへコピー この作業を行っているのですが、実行時に --- 移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー] コマンドと [貼り付け] コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。 --- このエラーが表示されます。 保存拡張子も「.xls」から「.xlsx」へ変更するも、互換モードの表示が外れません。 さらに原因を探ると、現在使っているPCのエクセルにて エクセルオプション→保存→ファイルの保存形式 この設定が「excel ブック」ではなく、「excel 97-2003ブック」のため、 新規ワークブック作成時に互換モードでファイルが作成されてしまうことで、2003と2007の行列数の違いからエラーになるようです。 確認のため、ファイル保存形式を2007仕様にすると、問題なく実行されました。 新旧のPCが混在するため、できたらファイル保存形式を97-2003モードで保持したまま、vbaでの新規ワークブックの作成は互換モードを外した状態で行いたいのですが、背景の色など、2007での特色があるため、2003形式には戻したくないのが心情です。 解決する方法はありますでしょうか?よろしくお願いします。

  • 【Excel】複数のブックの保存について

    Excel2003を使用しています。 帳簿の書式を作って、それに手書きのような感じで入力しています。 (合計金額をチェックするために簡単なリンクが貼ってあります) 取引会社ごとにコードNo.があって、そのNo.をもとに複数のブックに 分けて保存しています。 具体的には コードNo.100~120は『仕入帳No.100~120』のように名前をつけて 保存し、同じようなブックが1つのフォルダ内に12~3個あります。 毎月、帳簿を作成する際は、フォルダ内のブックを10個ほど 開いた状態で作業するのですが、その開いているブックすべてを 1回の操作で上書き保存することはできるのでしょうか? 入力する量が多いので、ある程度上書き保存しながら 作業を進めていきたいのです。 よろしくお願いします。

専門家に質問してみよう