- ベストアンサー
VBAを使って名前をつけて保存をしたい
pkh4989の回答
こんにちは。 以下の例を参考にしてください。 >【1016】(2)という名称で保存して →ブック名称の事ですよね? Sub 名前を付けて保存() Dim wSeq As String Dim wStr As String Dim Flnm As String Dim wFlnm As String ' Flnm = "C:\" & Format(Date, "mmdd") & ".xls" Flnm = Application.GetSaveAsFilename(InitialFileName:=Flnm, _ filefilter:="Excel ファイル (*.xls), *.xls", Title:="名前を付けて保存") If Flnm = "False" Then Exit Sub End If ' wSeq = 0 ExitFlg = False wFlnm = Flnm Do While ExitFlg = False If Dir(Flnm) <> "" Then '存在したら、連番を加算 wSeq = wSeq + 1 wStr = "(" & wSeq & ")" Flnm = Left(wFlnm, Len(wFlnm) - 4) & wStr & ".xls" Else '存在しない時、保存 ActiveWorkbook.SaveAs Filename:=Flnm ExitFlg = True End If Loop End Sub
関連するQ&A
- VBA 表作成
こんにちわ。 表が完成しました。 しかし、後3つの課題が残されています。 ネットで見ても今ひとつわからなかったので再度質問させていただきました。ブックは全部で3つになります。 →入力フォーム、出力、入力 質問1 アラートは表示されずに上書きもなく保存させたいです。 ・入力フォームで入力された日付で保存。(入力する場所はC6でyyyy/m/d/という形です。) ・同じ日付の場合は上書きではなくその日付に何か解るように足せられたものが名前になるようにしたいです。 保存のやり方はわかるのですが上記2つが解りません 質問2 保存が終わって指定したブックのみ閉じたい。 ・入力データを閉じたいです。 解りづらいかもしれませんがよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- エクセル VBAによる名前を付けて保存?
エクセルのVBAにて名前(本日日付&NO.)を付けてブックを保存 したいのですが下記のように書込作成しました。 ActiveWorkbook.SaveAs _ Filename:="C:\発注書\" _& "発注済" & Format(Date, "mm.dd") & "(" & ".xls" 上記で 発注済( までの名前を付けの保存は出来たのですが ( のあとに発注書シート内のセルU12にあるNOを入れたいのですが 色々試してみましたがコンパイルエラーが出てしまいます。 セルをどの様に指定すれば宜しいでしょうか?
- ベストアンサー
- 画像・動画・音楽編集
- エクセル2007 名前を付けて 保存 VBA(マクロ)
エクセル2007 名前を付けて 保存 VBA(マクロ) 今回もよろしくお願いします。 今回は作業終了時にファイルに名前を付けて自動保存させたいのですがうまくいきませんのでアドバイスお願いします。 ファイル名はセルの数か所にある文字、日付などを足してファイル名にしようとしています。 例えば A1 報告書 A2 2010/03/22 A3 パソコン と入っているとします。 ファイル名は ”報告書20100322パソコン”としたいのですが、日付の処理がわかりません・・・。 普通に表示させると”報告書40259パソコン”となってしまいます。 ネットでは20100322から2010/03/22の日付形式への変換の方法は多数見受けられるのですが、逆は未だ見つけられないため、投稿しました。 同じファイル名がある時は、ファイル名+(1)のようにファイル名がダブらないようにもしたいのです。 いつも、全て手打ちでやっておりエクセルファイル保存後、PDFファイルでも同じ名前で保存しているため、可能であればPDFでも保存出来ればうれしいです。 PDFはADOBE STANDARD8といきなりPDFを使用しています。 ご教授よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- サーバーに保存しているデータが更新されていないようなんです
会社であるデータ(Excelファイル)をサーバーに保存していて、複数の人でデータの更新の必要があるときに変更して上書き保存をしています。 最近、例えばAさんがデータを修正して上書き保存して閉じる→Bさんがデータを修正して上書き保存して閉じる→またAさんが開いてみると先ほどAさんが修正した内容が反映されていない(保存されていない)ということがあります。 Aさんがデータの修正中にBさんがファイルを開こうとすると「読み取り専用」になってしまうので、BさんはAさんが修正を終えるのを待っているわけですが、Aさんはきちんと上書き保存してからファイルを閉じているにも関わらず保存されていなかったりします。 どのような原因が考えられるでしょうか? 宜しくお願いします。
- 締切済み
- ハードウェア・サーバー
- エクセル2003VBA 新規ブックを作成、保存の時に
いつも勉強させていただいております。 今回、VBAで以下の事をできるのかな?と思い質問させていただきました。 まず、VBAで以下の動作を作成しました。 Aファイル、データーベースCSVファイル Bファイル、VBA記述ファイル 1)Bファイルから、Aファイルを開いて、検索、条件に合うデーター を配列で抽出。 2)新規ブックを追加 3)新規ブックに抽出したデーターを書き出し と言うVBAを作成しました。 で、質問なのですが、新規ブックは保存するか、しないかがその時々に よって任意でするため、VBAで保存の所までは作成していないのですが 、保存する場合、ファイル名に規則性を持たせたいため、ファイル保存 をしたときに表示させる初期ファイル名をBファイルのVBAから変更 させる事はできるのでしょうか? 新規ブックを保存するとき、初期ファイル名は「Book1.xls」となって いると思うのですが、この値を変更することってできますでしょうか? もし可能であれば、ヒントや参考になるHPなど教えていただけないで しょうか。
- ベストアンサー
- オフィス系ソフト
- VBA実行時、エラーがでる
Sub 登録() ActiveSheet.Range("A1:EZ1").Copy ChDir "\\顧客管理" Workbooks.Open Filename:="\\顧客管理\顧客管理A.xls" Sheets("顧客データー").Select Worksheets("顧客データー").Range("A1").PasteSpecial Paste:=xlPasteValues ActiveWorkbook.Save ActiveWindow.Close Range("A1").Select End Sub 上記のコードがあります。顧客管理Aというbookにデーターを取り込むというコードですが、時々顧客管理Aのbookを開いたままの状態で上記マクロを実行してしまいエラーが出てしまいます。もし顧客管理Aのbookを開いたままのじょうたいで上記マクロを実行した場合、顧客管理Aのbookが閉じるまで上記コードの3行目以降の処理を待機し、顧客管理Aのbookが閉じたら上記コードの3行目以降の処理を実行するという事は可能でしょうか?
- 締切済み
- オフィス系ソフト
- 上書き保存しかできないようにできますでしょうか
何度もすみません、こちらで質問させていただいた者です。 http://okwave.jp/qa3987988.html ブックを保存するときに、絶対にファイル名を変えられないようにできますでしょうか。 上書き保存はできるけれども、名前を変えて保存はできないようなイメージです。 ブックを上書き保存するSaveメソッドを使って保存してからファイルを閉じるような マクロを実行させる感じかとも思ったのですが、ファイルメニューから 「名前を変えて保存」もできないようにしたいのです。 そんなことはできますでしょうか。
- 締切済み
- オフィス系ソフト
- 名前をつけて保存ができません。
MACbookair に最近変えて、 excel を使用しているのですが、 添付写真のように、作成した、BOOKが 上書き保存(更新?)アイコンしかなく、 名前をつけて保存とかできなくなりました。 バージョンなどなどよくわからないのですが? 散々いじったのですが、よくわからず、 どなたか名前をつけて保存をする方法を教えていただけますでしょうか? ググっても同様の質問が見つけられませんでした。 お願いします。
- 締切済み
- Mac
- エクセルのマクロを使ってシートごとに名前をつけて保存したい
マクロ初心者です。宜しくお願いします。 1つのブックにシートが複数あります。 それぞれシートをコピーして新しいブックを作成し そのブックに名前をつけて保存したいです。 例えばブック名が「売上管理」でそのシートが「A店」「B店」「C店」と3シートあるとします。 シート名:A店を他のブックにコピーしてマイドキュメントに名前を付けて 保存する場合のマクロを教えてください。 ちなみにその際のブック名は「シート名+任意のセル(D2)」と できれば一番助かります。 ちなみにD2のセルにはToday関数が入ってます。
- ベストアンサー
- オフィス系ソフト
補足
素人なのでよく分らないんですが、C:\Documents and Settings\AABBセンター\デスクトップ\データー管理にフォルダAとフォルダBが入ってます。C:\Documents and Settings\AABBセンター\デスクトップ\データー管理\ファイルAに顧客データというエクセルブックが入ってます。その場合上記のコードのどこを書き換えればいいでしょうか? 無知ですいませんが、教えて下さい。