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も見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
excel VBA 部分一致の名前をパスに指定する方法
Excel(エクセル)
-
ファイル名と同名のフォルダを自動作成して移動させる方法はありますか?
Access(アクセス)
-
-
4
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
5
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
デスクトップの画像をhtmlに表...
-
excelマクロ 冒頭3文字が一致す...
-
会社のネットワーク上のファイ...
-
クラウドにあるフォルダを共有...
-
エクセル VBA Filename:=Left(T...
-
API関数(DLL)の呼び出しにお...
-
Access VBA で フォルダ権限...
-
【マクロ】ファイル名の日付に...
-
フォルダを開いて、閉じるのプ...
-
【ExcelVBA】一覧表の記載に従...
-
保存先のフォルダ名を指定した...
-
Excel VBA で フォルダ名の一部...
-
VBA 最新のフォルダ取得
-
C ファイル出力で、フォルダが...
-
C#でフォルダをロックする方法
-
Let’s Encryptでwebroot設定な...
-
Windows10でコマンドプロンプト...
-
複数のテキストファイルの結合方法
-
バッチファイルで指定フォルダ...
-
Excel VBA 同じ名前のフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
Excelのハイパーリンクについて...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
excelマクロ 冒頭3文字が一致す...
-
会社のネットワーク上のファイ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
VBA フォルダ名に特定の文字を...
-
【マクロ】ファイル名の日付に...
-
フォルダを開いて、閉じるのプ...
-
カレントフォルダって?
-
パス名に2バイト文字(マルチバ...
-
保存先のフォルダ名を指定した...
-
Excelで指定したフォルダに保存...
-
Debug フォルダは消していいの?
-
ExcelのVBAでフォルダ指定がで...
-
C ファイル出力で、フォルダが...
-
vbsで選択ダイアログを表示した...
おすすめ情報
ありがとうございます!
サブフォルダ名、ファイル名等指定したらほぼ思っていた通りになりました。
1つお伺いしたいのですが、
注文書を作成する元のブックはシートが既に4枚存在しており、フォームで作成した注文書が5枚目のシートとして作成されます。
この5番目のシートのみを保存したいのですがどのように変更すればよいでしょうか...