- ベストアンサー
EXCEL VBA 新規ブック保存について
- フォームで作成したデータから、請求書などの帳票をシートに作成し、新たなブックに保存する方法についてまとめました。
- また、保存先の指定や二つのブックの行き来についても解説しています。
- VBA初心者の方でも分かりやすいように、具体的なコードも記載しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
参考に Dim myPath As String, Filename As String myPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\管理システム\帳票" With Worksheets("請求書") Filename = .Range("C7") & "_" & .Range("F11") & .Range("J11") & ".xls" End With Worksheets("請求書").Copy ActiveWorkbook.SaveAs Filename:=myPath & "\" & Filename
その他の回答 (2)
- watabe007
- ベストアンサー率62% (476/760)
> C:\Users\××××××\Desktop\管理システム\帳票 >システムを丸ごと違うPCに変えても、エラーが出ないようにするには 以下でPCが変わっても・・・\デスクトップ\\管理システム\帳票 のパスを取得できます。 Dim myPath As String myPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\管理システム\帳票" MsgBox myPath
- cma3atgoo
- ベストアンサー率35% (32/90)
個人的意見ですが・・・ ブックの保存先ですが、 まったく別のPCで使うことを考えるならば、 固定ではなくて毎回指定できるようにしたほうがよろしいかと思います 「GetSaveAsFilename」 をつかうと「名前をつけて保存」で出てくるようなダイアログを使うことができますし、 「ThisWorkbook.Path」 で開いたブックと同じフォルダが取得できます 毎回指定するのが面倒な場合は固定でもよいと思いますが、 その場合はできるだけわかりやすく、 階層が深くない(\がたくさんつかない)ところがよいと思います(c:\workなど) 具体的なコードをかけなくて申し訳ありませんが、ご参考まで
お礼
私も階層はつけたくなかったので、その方法も参考にさせて頂きたいと思います! 早速の回答を頂きありがとうございます!! With Application.FileDialog(msoFileDialogSaveAs) .FilterIndex = 1 If.Show = -1 Then.Execute End With End Sub ↑ 名前をつけて保存ダイアログボックスを表示して保存 コード書いてみました
お礼
回答頂きありがとうございます! 自分でパスをとれば良かったんですね!! 丁寧にご回答頂き本当に感謝しております。 先週末から、私事で恐縮なのですが 身内の見舞いに遠方に行っていた為 お礼を申し上げるのが遅くなってしまい 申し訳ありませんでした。 本当にありがとうございました!!!!