• 締切済み

マクロで指定されたフォルダへ名前をつけて保存する方法を教えてください。

 今Excelのマクロを作成しているのですが、ファイル名・フォルダ名をつけて実行させるプログラムが組めず困っています。どなたかご教授願います。 内容は以下のとおりです。  見積書の雛形(見積書.xls)に、入力シートと見積書・担当者コード・取引先コードの4つのワークシートが存在しています。  見積書作成後、見積書シートだけを別の新規ワークブックへコピーし、ファイル名を見積書番号とし、指定したフォルダへ保存したいと思っています。  保存したいファイル名(見積書番号)は、入力シートから得た担当者コードと取引先コードと枝番をつけた12桁の数字で保存したいと考えています。  指定先のフォルダは(担当者コード+担当者名)で作成しております。   Cドライブ \業務フォルダ\ 各担当フォルダで構成しています。   見積書雛形(見積書.xls)は業務フォルダ内に存在しています。 質問内容は以上です。よろしくお願いいたします。

みんなの回答

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

具体的なコードを全部書けということを仰っているのか、どのような手順を踏めばよいのかアドバイスを聞きたいのか、特定の部分のコードのみの詳細を知りたいのかどの辺のことを聞きたいのでしょう。

yukun916
質問者

補足

 早速の返信ありがとうございます。  質問の内容不足で申し訳ございません。  ファイル名・フォルダ名を入力シートから取得させ、保存させていく段階からお示しいただければ幸いです。  担当者コード・担当名・見積書番号はそれぞれ入力シートのセルA1・A2・A3に代入されているものとして、考えていただけないでしょうか?  ご面倒なようでしたら、ポイントだけでも教えていただけますと助かります。  よろしくお願いいたします。

関連するQ&A

  • Excelで指定したフォルダに保存するマクロ

    Excel2003で、シートをコピーし別ファイルとして保存したいのですが 保存先のフォルダがネットワーク上にあります。 ファイル名は、指定したセルの値で保存されるようにします。 以下の記述でマクロ実行すると、シートは別ファイル(BOOK1)としてコピーされ ます。 名前をつけて保存ダイアログが開きますが、そのときにマイドキュメントが開き ます。 Private Sub CommandButton1_Click() ActiveSheet.Select ActiveSheet.Copy Dim Sname As String, Fname As Variant, Folname As String Folname = "ネットワーク上フォルダのフルパス" Sname = Range("O46").Value If Sname = "" Then Sname = ThisWorkbook.Name Fname = Application.GetSaveAsFilename(InitialFileName:=Sname, fileFilter:="Excel(*.xls), *.xls") If Fname <> False Then ActiveWorkbook.SaveAs Fname End Sub そもそもネットワーク上のフォルダを指定することはできないのでしょうか? マクロに関してはずぶの素人で、上記の記述は過去の質問などを参考に作成しま したので どこかに間違いがあるのかも知れませんが、間違いを特定することができません。 お手数おかけし申し訳ありませんが、ご教示のほどよろしくお願いします。 補足として、保存する際にダイアログを開きたい理由は以下の通りです。 ・保存先誤り防止(作業者が多数いて、使用するPCも違うため) ・ファイル名誤り防止(同じファイル名が存在しないかどうか確認)

  • マクロ VBA ファイル名を連番でつけたいのですが

    マクロ初心者なので教えて頂けるとうれしいです。 保存先フォルダにファイル名を自動で名前をつけて保存させるところまでできたのですが、 保存先フォルダに同名フォルダがある場合に、 もともと指定しているファイル名のお尻に連番をつけていくようにしたいのですが・・・ 例) 選択したシートをコピーして、 「A1+B1+見積書.xls」 という名前をつけて毎回保存していくのですが、 同名のファイルがある場合、 「A1+B1+見積書+1.xls」 「A1+B1+見積書+2.xls」 「A1+B1+見積書+3.xls」    …というふうにお尻に自動で連番をつけて 保存できるようにしたいのです。 宜しくお願い致します!

  • マクロでの自動保存

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

  • GetSaveAsFilenameでフォルダを指定したいのですが?

    すいません。マクロ初心者です。 (1)以下のプロシージャで保存するときに、フォルダを指定したいのですがどこにフォルダ名を入れたらいいかわかりません。 (2)XPのエクセル2003で作成したのですが、vistaのエクセル2007で使用すると保存時に拡張子.xlsが付かずエクセルファイルになりません。 ご教授ください。 Sub シート保存2() Dim Answer3 Dim 既定ファイル名 As String Dim 保存ファイル名 As Variant Answer3 = MsgBox("本当に保存しますか?", vbYesNo) If Answer3 = vbNo Then MsgBox ("キャンセルしました。") Exit Sub End If Sheets("保存シート").Select Application.CutCopyMode = False Sheets("保存シート").Copy 既定ファイル名 = Range("V7") & ".xls" 保存ファイル名 = Application.GetSaveAsFilename(既定ファイル名) If 保存ファイル名 = False Then MsgBox "保存は中止されました。" ActiveWorkbook.Close (False) Else ActiveWorkbook.SaveCopyAs 保存ファイル名 ActiveWorkbook.Close (False) End If End Sub よろしくお願いします。

  • コマンドボタンで保存先のフォルダ指定は出来ますか?

    OSはWindowsNT、Excel97です。 PC素人の営業さんが使う見積書の作成をしています。 そこで質問です。 コマンドボタンで保存ボタンを作成し、それを押すと「名前をつけて選択」画面が開き、保存先として決まったのフォルダが選択されている状態になっているという事は出来るでしょうか?(要するにフォルダを探す手間を省きたいのです) 保存操作の流れとして、保存コマンドボタンを押す→ファイル名を入れる→保存を押すとしたいのです。 宜しくお願いします。

  • マクロVBA特定フォルダーに次々に自動保存する方法

    マクロ初心者です。教えて下さい。 ループでお客様のコードが入力されている限りデータを作成するマクロを作っています。 現在の状態は いちいちファイルを付けて保存のメッセージボックスで「保存」としなければなりません。 AAAのフォルダーに作成されたデータを次々に保存していくにはどうしたら良いですか? (メッセージBOXを出さずに) マクロ実行したら、何もしなくてもAAAフォルダーに全て保存されている状態にしたいです。 宜しくお願い致します。 '名前を付け保存するファイル名の初期設定 Dim Save_File, Save_Filename As String Save_Filename = Sheets("企業別金額サマリ").Range("A3").Value & " 販売実績(5月).xls" '「名前を付けて保存する」ダイアログボックスの表示 Save_File = Application.GetSaveAsFilename(Save_Filename, _ FileFilter:="Excelファイル,*.xls,すべてのファイル,*.*") '名前を付けて保存する ActiveWorkbook.SaveAs Filename:= _ Save_File, FileFormat:=xlNormal, _ Password:="mpd", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False

  • VBA PDFを同じフォルダに保存する

    EXCELの差し込み印刷でPDFファイルを出力する方法 https://excel.kuuneruch.com/sasikomi-pdf-select/ 保存場所を同じフォルダに保存したいのですが、どうしたらよいでしょうか? '⑥ひな形シートでPDFを作成する(作成PDFファイル名を指定する) Call CreatePdfFile("D:\100_PDF\" & .Range("A" & nowRow) & ".pdf")

  • セル内の文と同じ名前のフォルダにシートを保存させる

    マクロのフォームにチェックボックス2個とコマンドボタン1個があります。 Excelブック内にシートが3つあり、シート1内のセルA1,B1に入力されている内容をファイル名(例:A1_B1)にし、フォームのチェックボックス1にチェックを入れてコマンドボタンを押すとシート2、チェックボックス2にチェックを入れてコマンドボタンを押すとシート3を、C1に入力されている内容と同じ名称のフォルダに保存させるマクロを作成したいです。 なお、A1,B1,C1は固定で移動はしません。 また、保存先のフォルダは用意されています。 ファイル名が重複する場合は上書きするか確認したいです。 現在、マクロを勉強中です。 図々しいとは思いますが、もし可能であれば、どういう意図でコードを使用しているか等の解説もしていただければ助かります。 どうぞよろしくお願いいたします。

  • Exelマクロで指定フォルダ内の中身を

    Exel VBA 初心者です。 指定したフォルダに入っているフォルダの名前を、Exelマクロで書き出すようにしたいのですが、 どうしたらいいでしょうか。 マイドキュメント\業務ファイル この「業務ファイル」というフォルダの中身を整理するために、 フォルダ名の一覧をExelのシートに書き出したいのです。 以前、指定フォルダ内のファイル名を書き出すマクロを作ったことがあります。 これを改造すればできますか? このマクロでは、B1セルにパスを入れるようにしてあります。 ―――――――――――――――――――――――― Sub ファイル名一覧作成() Dim フォルダ As String Dim ファイル名 As String Dim 行 As Long フォルダ = Cells(1, 2).Value & "\" ファイル名 = Dir(フォルダ & "*.*") Cells(4, 1).Value = ファイル名 行 = 4 Do Until ファイル名 = "" Cells(行, 1).Value = ファイル名 行 = 行 + 1 ファイル名 = Dir() Loop End Sub ―――――――――――――――――――――――― 環境:WindowsXP、Exel2003

  • エクセル:シートを保存するマクロ

    あるエクセルファイルFile.xls内に、4つのシートSheet1,Sheet2,Sheet3,Sheet4があるとして、 4つのシートを個別にcsvファイルとして保存するようなマクロを作りたいです。 ▼ソースです  (ここまでのコードで、Pathに保存先のディレクトリ名を取得する部分があるとお考えください)  Filename = "Sheet1" '保存するシート名は、Sheet1~4 GoSub Save1 Filename = "Sheet2" GoSub Save1 Filename = "Sheet3" GoSub Save1 Filename = "Sheet4" GoSub Save1 '保存完了後は、File.xls内Sheet1のCells(4, 1)にカーソルを配置。 Sheets("Sheet1").Select Cells(4, 1).Select Exit Sub Save1: Sheets(Filename).Select fname = Path & "\" & Filename & ".csv" ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlCSV, CreateBackup:=False Return End Sub 以上のソースで実行すると、 指定したディレクトリにsheet1.csv、sheet2.csv、sheet3.csv、sheet4.csvの4ファイルができます。 ここまでは問題ないのですが、 マクロを実行後、Sheet4.csv(最後に保存したファイル)が開かれた状態になってしまいます。 しかも、ファイル名はSheet4.csvなのに、シートSheet1~4を持っている状態です。 普通にSheet4.csvファイルを開くと、シートはSheet4しかありません。 状態が伝わるでしょうか? File.xlsのマクロを実行しているので、実行完了後もFile.xlsを開いておきたいのですが、 どのような記述を加えればよいでしょうか? マクロ(VBA)は使い始めたばかりなので説明されても理解できないかもしれませんが、 できればよろしくお願いいたします。