
Excel VBAについての質問です。
現在、建築関係の注文書を作成しています。
作成した注文書をフォルダに自動的に格納されるマクロを作成することは可能でしょうか。
注文書を作成するフォームでは既に登録した情報が2つのリスト形式で表示されるようになっています。(上からListbox1,Listbox2)
それ以外の下3つの項目は作成時に入力します。
登録ボタンを押すと、名前を付けてフォームの内容を反映した注文書を作成するようにしたのですが
これを工事場所の欄と同じ名前のフォルダに保存できるようにしたいです。
フォルダに関しては注文書を格納するフォルダ(例では注文書作成フォルダ)を作成し、
その中に保存していきたいです。
①工事場所と同じ名前のフォルダが存在する場合
→作成した注文書を同じ名前のフォルダに格納
②工事場所と同じ名前のフォルダが存在しない場合
→作成した注文書と同じ名前のフォルダを作成し、格納
以上、よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
こんにちは
不明な点に関して、勝手に以下のように想定しました。
・「注文書作成」フォルダはデスクトップに必ず存在する
・保存するブックはThisWorkbookとする
・保存形式は「.xlsx」とする
・指定されたブック名のファイルが既に存在する場合、ファイル名に連番を付けて保存する
※ 違っている部分に関しては適宜修正願います。
サブフォルダ名、ファイル名はフォームから取得(?)するのだろうと想像しますが、ひとまず直接指定にしてありますので修正してください。
以下、ご参考までに。
Sub Q_13313892()
Dim folderName, fileName, i
Dim folderPath, filePath
Const ext = ".xlsx"
i = 1
folderName = "hoge" ' サブフォルダ名(実際のものに設定のこと)
fileName = "fuga" ' フォルダ名(実際のものに設定のこと)
folderPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
folderPath = folderPath & "\注文書作成\" & folderName
If Dir(folderPath, 16) <> folderName Then MkDir folderPath
filePath = folderPath & "\" & fileName & ext
While Dir(filePath) <> ""
i = i + 1
filePath = folderPath & "\" & fileName & "(" & i & ")" & ext
Wend
Application.DisplayAlerts = False
ThisWorkbook.SaveAs filePath, xlOpenXMLWorkbook
Application.DisplayAlerts = True
End Sub
No.2
- 回答日時:
No1です。
>この5番目のシートのみを保存したいのですがどのように
>変更すればよいでしょうか...
対象とするシートだけのブックとして保存したいってことでしょうか?
もしそうであるなら、一旦、その様なブックを作成して、そのブックを保存するということになるでしょう。
5番目のシートを作成するのではなく、最初から新しいブックのシートにその「5番目のシート」の内容を作成するようにしておけば、そのブックを保存するだけで済みますね。
5シートあるブックから1シートだけのブックを作成したいのであれば、
・不要な4シートを削除する
・新しいブックとして1シートをコピーする
などが考えられます。
保存したらお終い(=ブックを閉じる)のであれば、4シートを削除しても問題はないでしょう。
更に同じような処理を続けるのであれば、新しいブックにコピーするのが簡単でしょう。
シートのCopyメソッドで引数を省略すると、新しいブックにコピーされます。
https://learn.microsoft.com/ja-jp/office/vba/api …
全体像がよくわかりませんけれど、そもそも単独で保存する目的でシートを作成するのなら、最初に記したように、初めから新しいブックにシートを作成しておくのがよさそうに思います。
ご回答いただきありがとうございます。
いただいたSub Q_13313892()のコードを変えてみたのですが、一旦5シートすべてを保存してその上から1シートのみcopyしてブックを作成の流れになり、最初の5シート保存を変更するやり方が分からないままでした。。。
もう少しいろいろいじってみようと思います!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- その他(プログラミング・Web制作) フォルダを一括で作成する方法 0 2022/07/27 19:19
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- 財務・会計・経理 業者間での注文書・請書の取り扱いについて 2 2022/06/27 15:53
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
【お題】斜め上を行くスキー場にありがちなこと
運営も客も一流を通り越して斜め上を行くスキー場にありがちなことを教えて下さい。
-
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
【マクロ】名前を保存する際に、同じファイルがあった場合に、メッセージを表示
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーバ内のフォルダ名と各フォ...
-
ファイル名と同名のフォルダを...
-
ファイルサイズを指定してファ...
-
Access VBA で フォルダ権限...
-
会社のネットワーク上のファイ...
-
Excelで指定したフォルダに保存...
-
ExcelのVBAでフォルダ指定がで...
-
フォルダの場所を可変にしたい...
-
VBAにてツリー階層表示ツールの...
-
excel VBA Dirにて検索したフォ...
-
Windows10でコマンドプロンプト...
-
【VBS】古い日付のフォルダを削...
-
エクセル VBA Filename:=Left(T...
-
【マクロ】フォルダAからダBへ...
-
VB6で7-ZIPのAPIを使用した圧縮...
-
VBA 最新のフォルダ取得
-
パス名に2バイト文字(マルチバ...
-
GetAttrが原因?
-
クラウドにあるフォルダを共有...
-
【マクロ】ファイル名の日付に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダ名に特定の文字を...
-
Excelで指定したフォルダに保存...
-
パス名に2バイト文字(マルチバ...
-
Excelのハイパーリンクについて...
-
Access VBA で フォルダ権限...
-
C ファイル出力で、フォルダが...
-
ExcelVBAでフォルダへのハイパ...
-
VBA フォルダの複数選択ができない
-
フォルダ内のPDFファイル名を変...
-
エクセルマクロで指定フォルダ...
-
excel VBA Dirにて検索したフォ...
-
エクセルのデータをメモ帳に貼...
-
サーバ内のフォルダ名と各フォ...
-
条件に合うフォルダが存在する...
-
VBA フォルダ名と画像ファイル...
おすすめ情報
ありがとうございます!
サブフォルダ名、ファイル名等指定したらほぼ思っていた通りになりました。
1つお伺いしたいのですが、
注文書を作成する元のブックはシートが既に4枚存在しており、フォームで作成した注文書が5枚目のシートとして作成されます。
この5番目のシートのみを保存したいのですがどのように変更すればよいでしょうか...