• 締切済み

新しいブックの保存先について

はじめてこちらに質問させていただいております。 私は、Excelについて全くの素人ながら会社の月次資料の集計作業などに従事することになりました。現状、マクロの走った演算結果を下記"閲覧ファイル(xx月分)に反映させているのですが、このシートを新しいブックとして保存したいと思っています。しかし、下記マクロの意味がほとんどわからないままコピー・ペーストして使っているため、保存先が作業ファイルしか指定出来ずに困っております。ActiveWorkbook.Passと入れなければ規定のカレントフォルダに保存されてしまうという事だけはかろうじて分かりました。 保存先の指定をどのようにしたらいいのか(デスクトップなりサーバーの特定のフォルダ内)ご指導いただけましたら幸いです。 全くの素人で、真に申し訳ございませんが宜しくお願いいたします。 ------------------------------------------------------------------------------ Sub Macro1() Sheets("閲覧ファイル(xx月分").Select Pass = ActiveWorkbook.Path Rename = Application.InputBox(prompt:="保存名を入力して下さい",_ Title:=" 新しいブック", Type:=2) Rename = Pass & "\" & Rename & ".xls" Sheets("閲覧ファイル(xx月分").Copy ActiveWorkbook.SaveAs Filename:=Rename    ActiveWorkbook.CloseEnd Sub

みんなの回答

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.2

Pass = ActiveWorkbook.Path Rename = Application.InputBox(prompt:="保存名を入力して下さい",_ Title:=" 新しいブック", Type:=2) Rename = Pass & "\" & Rename & ".xls" Sheets("閲覧ファイル(xx月分").Copy ActiveWorkbook.SaveAs Filename:=Rename の部分を置き換えていただければよいと思います。 補足ですが、ダイアログの初期表示フォルダを変更したい場合はChDirメソッドを使用してください。

fy551122
質問者

お礼

AKARI0418様。 Pass = ActiveWorkbook.Pathを入れなくても、 別にカレントフォルダに保存されないので消してもいいという事ですね。 度々のご回答、感謝致します。 ご対応いただきまして誠にありがとうございました。

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

Application.Dialogs(xlDialogSaveAs).Show でいかがでしょうか?

fy551122
質問者

お礼

AKARI0418様 ありがとうございます。 という事は Rename = Application.InputBox(prompt:="保存名を入力して下さい",_ Title:=" 新しいブック", Type:=2) Rename = Pass & "\" & Rename & ".xls" と、 ActiveWorkbook.SaveAs Filename:=Rename 辺りが不要となるのでしょうか。早々のご回答、誠にありがとうございます。

関連するQ&A

  • マクロでの自動保存

    エクセルで作ったデータをボタン一つで自動的に特定のフォルダーに 保存するマクロを作りたいのですが、色々なサイトを参考に保存名前を 付けて保存するプログラムまでは組めたのですが、特定のフォルダに 保存していくプログラムがうまく動きません。 下記に作成したコードを記載するので、アドバイスお願いします。 Sub データ保存() Sheets("シート名").Select パス = ActiveWorkbook.Path 別名 = Application.InputBox(prompt:="入力例.12345", _ Title:=" ファイル名を入力して下さい", Type:=2) 別名 = パス & "\" & 別名 & ".xls" Sheets("シート名").Copy ActiveWorkbook.SaveAs Filename:=別名 ActiveWorkbook.Close End Sub

  • 共有ブックのリンクについて

    以下のようなマクロを作成しました 1.Sheet2をコピーする(新規ブック) 2.Sheet1のA1のファイル名で保存する(入力済) 3.A1にハイパーリンクを設定する 「ブックを共有」にしたら(3)のハイパーリンクの 設定でエラーが出るようになってしまいました。 で質問ですが (1)共有ブックはハイパーリンクが設定できないのでしょうか?   マクロが間違っている?    何かパラメータが足りない?   そんなことできない? (2)設定できないとしたら、誰も使用しないような深夜に   ブックの共有を解除し、リンクを貼り付けるマクロを実行するということは可能でしょうか? わかりにくい質問で申し訳ありませんが教えてください。 よろしくお願いします。 Sub Macro1() Worksheets(2).Activate Sheets(2).Copy ActiveWorkbook.SaveAs Filename:="A1ファイル名" ActiveWindow.Close Worksheets(2).Activate ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:="A1ファイル名" End Sub

  • 年月を付けて、ブックを保存したい

    Excel2007でマクロ作成中の初心者です。 毎月、「24年月次報告 年 月.xls 」というブックを作成しています。 以下のコードで、作成しています。 このコードを実行すると、デスクトップの「常勤」というフォルダの中の「一覧表」というフォルダに 「24年月次報告 年 月.xls」 というブックができます。 このコードを修正して、5月中に作成したら、「24年月次報告24年5月.xls」 というブック、 6月中に作成したら、「24年月次報告24年6月.xls」 というブックを作成したいのです。 どのように修正したら、それが実行できるのでしょうか。ご指導お願いします。 Sub 給与計算24年データの保存() Dim Path As String, WSH As Variant Set WSH = CreateObject("WScript.Shell") Path = WSH.SpecialFolders("Desktop") & "\常用\一覧表\24年月次報告" ActiveWorkbook.SaveAs Path & " 年 月.xls" Set WSH = Nothing End Sub

  • EXECLの変更を保存せずにブック強制的に閉じる方法を

    困り果てています VISTAとXPでマクロで EXECLの変更を保存せずにブック強制的に閉じる方法を 教えていただきたいのですがテストをしてみたマクロは 下記のようなものですがですがうまく動作しません シートの中にスピンボタンがありセルの中の数字を 変えると変更を保存しますか? となります。 Sub Auto_Close() ThisWorkbook.Saved = True End Sub Sub 例1434()   ActiveWorkbook.Saved = True ActiveWorkbook.Close End Sub Sub 13() ThisWorkbook.Close SaveChanges:=False End Sub Sub CloseBook() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub Sub CloseBook2() ActiveWorkbook.Close savechanges:=False End Sub いずれもだめでした 良い方法をお教えください。

  • EXECLの変更を保存せずにブック強制的に閉じる方法を

    困り果てています VISTAとXPでマクロで EXECLの変更を保存せずにブック強制的に閉じる方法を 教えていただきたいのですがテストをしてみたマクロは 下記のようなものですがですがうまく動作しません シートの中にスピンボタンがありセルの中の数字を 変えると変更を保存しますか? となります。 Sub Auto_Close() ThisWorkbook.Saved = True End Sub Sub 例1434()   ActiveWorkbook.Saved = True ActiveWorkbook.Close End Sub Sub 13() ThisWorkbook.Close SaveChanges:=False End Sub Sub CloseBook() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub Sub CloseBook2() ActiveWorkbook.Close savechanges:=False End Sub いずれもだめでした 良い方法をお教えください。

  • マクロの保存先について

    会社でデータ入力をしています。 エクセルのファイルに大量の画像を貼り付けていかなくてはならないので、下記のようなマクロを作りました。 挿入した画像のサイズを変えるマクロです。 Sub Macro() Selection.ShapeRange.ScaleWidth 0.25, msoTrue, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 0.25, msoTrue, msoScaleFromTopLeft End Sub 作成したのはいいのですが、マクロを保存するときに「個人用マクロブック」に保存できません。「作業中のブック」や「開いているすべてのブック」などの項目はあるのですが、「個人用マクロブック」だけありません。複数のファイルで使いたいので、「個人用」に保存したいのですが・・・。ちなみに使っているのはエクセル2002です。 マクロは基礎的な事しか習っていなので、どこがおかしいのかよく分かりません。マクロはちゃんと実行できます。 どなたか詳しい方アドバイスお願いします。拙い説明ですが、よろしくお願いします。

  • CSV保存マクロ 日付が逆になり困っています。

    マクロに詳しい方、お願いいたします。 エクセルのシートで2018/1/21とセルに記載したものを 下記マクロ(標準モジュールにコード記載)して、CSVで保存しています。 実行後CSVを開くと、21/1/2018になって逆になります。 調べてもわかりません。よろしくお願いします。 Sub Macro1() Application.DisplayAlerts = False main_f = ActiveWindow.Caption out_pass = ActiveWorkbook.Path & "\" Out_name = ActiveSheet.Name Sheets(Out_name).Select Sheets(Out_name).Copy ActiveWorkbook.SaveAs Filename:= _ out_pass & Out_name & ".csv", _ FileFormat:=xlCSV, CreateBackup:=False ActiveWindow.Close Application.DisplayAlerts = True End Sub

  • シートだけを保存したいのですが?

    はじめましてマクロ初心者です。 検索しましたがわからなかったので、質問させていただきます。 保存をキャンセルすると新規ブックができてしまいます。 キャンセルした時に新規ブックを作りたくないのですが、教えてください。 Sub シート保存() Dim Answer3 Dim 既定ファイル名 As String Dim 保存ファイル名 As Variant Answer3 = MsgBox("本当に保存しますか?", vbYesNo) If Answer3 = vbYes Then Sheets("保存シート").Select Application.CutCopyMode = False Sheets("保存シート").Copy Else MsgBox ("キャンセルしました。") End If 既定ファイル名 = Range("V8") 保存ファイル名 = Application.GetSaveAsFilename(既定ファイル名) If 保存ファイル名 = False Then MsgBox "保存は中止されました。" Else ActiveWorkbook.SaveCopyAs 保存ファイル名 End If End Sub よろしくお願いします。

  • 保存場所を指定する(VBA)

    エクセルでVBAを使用し、業務書類を作っていますが、 書類を保存する際に、指定場所に自動で保存させたいと思っています。 現在使用しているものは、下記の通りですが、 これでは、元ファイルと同じ場所に保存されてしまうので 元ファイルを削除されてしまうなどの恐れがあります。 そこで、フォルダを作りそのフォルダに自動的に保存したいと 思っています。フォルダは元ファイルがある下に作りたいと思います。 宜しくお願いします。 下記現在のものです。 Sub 保存() タイトル = "確認" メッセージ = "ファイルを保存します。よろしいですか?" スタイル = vbYesNo + vbQuestion + vbDefaultButton1 + vbApplicationModal yesno = MsgBox(メッセージ, スタイル, タイトル) If yesno = vbYes Then Sheets("新築").Select パス = ActiveWorkbook.Path 別名 = Application.InputBox(prompt:="拡張子(.xls)は不要です", _ Title:="保存用のブック名を入力してください", Type:=2) ' 別名 = パス & "\" & 別名 & ".xls" Sheets(Array("見積新築")).Copy ActiveWindow.DisplayWorkbookTabs = False ActiveWorkbook.SaveAs Filename:=別名 ActiveWorkbook.Close MsgBox "書類を保存しました。", vbInformation, "保存完了" End If End Sub

  • Excelで新規保存の名称をセルの内容にする

    Excelのマクロで下記のようなものを作りました。 Sub 自動保存() ' ' 自動保存のマクロ ' マクロ記録日 : 2008/8/10 ユーザー名 : user ' ' Sheets("ワークエリア").Select ActiveWorkbook.Unprotect Sheets("ワークエリア").Select Sheets("ワークエリア").Copy Windows("部品表.xls").Activate Sheets("計算").Select Range("B4").Select Selection.Copy Windows("Book1").Activate ActiveWindow.SmallScroll Down:=-27 ActiveWorkbook.SaveAs Filename:="D:\user folder\平成20年8月11日.xls", FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False ActiveWindow.Close End Sub ・「部品表」というファイルの「ワークエリア」と言うシートを新規のファイルとして保存したい。 ・保存名は「計算」というシートにあるB4のセルの内容にしたい。 (today()関数を使った当日の日付をファイル名にしたい) ・いろいろ試したけどファイル名が変数にならず固定されてしまう。 (最初に入れた日付がファイル名になってしまい翌日以降がうまくいかない) どうすればいいのでしょうか?わかる方ご指導下さい。

専門家に質問してみよう