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