• ベストアンサー

エクセルのマクロでこんな風に設定したい。

保存するときに、指定したフォルダで「ファイル名をつけて保存」の画面のままで、ファイル名の欄は常に「calus.xls」のままで表示させておくことはできるでしょうか? ファイル名の最初の「calus_」は常に同じなので 後の「***」部分を替えて保存できればいいだけなのですが。  calus_***.xls  calus_***.xls よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.3

papayukaさんのを参考に、ちょっと考えて見ました。 こんなのでいかがでしょうか。 アクティブシートのA1の内容が、***に入ります。 Sub Test2()   Dim FName   ChDrive "C"   ChDir "C:\Test"   FName = Application.GetSaveAsFilename _        ("calus.xls", "xls (*.xls), *.xls")   If FName <> False Then     ThisWorkbook.SaveAs Filename:=Left _      (FName, Len(FName) - 4) & "_" & Range("A1").Value   End If End Sub

nywork
質問者

お礼

ありがとうございました。丁度、***の部分には番号をいれていこうと思っていたので助かりました。

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

こんにちは。 ちょっと違うかも知れませんが。。。 DドライブにTestフォルダがあるとして、 Sub Test() Dim FName  ChDrive "D"  ChDir "D:\Test"  FName = Application.GetSaveAsFilename("calus.xls", "xls (*.xls), *.xls")  If FName <> False Then    ThisWorkbook.SaveAs FName, xlWorkbookNormal  End If End Sub

nywork
質問者

お礼

できました。ありがとうございます★ CSV形式で保存する際にも同様にしたいのですが、 ファイル形式を単にcsvに変えただけでは だめなんですね。テキストで確認したら文字化けしてしまいました。。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

マクロでは ちょっと難しいかもしれません。 calus_.xlsというファイルを一つ 作っておいて、 「ファイル名をつけて保存」の画面を出したときに 最初に calus_.xls のファイルを選択してから ファイル名を変更すればいいと思います。

nywork
質問者

お礼

ありがとうございました。

関連するQ&A

  • エクセル マクロで特定ファイル名だけを開く

    エクセルのマクロで 特定のファイル名だけをフォルダの中から探して 開くというものを作りたいのですが うまくできません。 フォルダを指定して 「060927.xls」というエクセルファイルだけを 開きたいのですが この日付のところが毎日変わるので 「06XXXX.xls」というような 最初が06であと4つの文字が入ってるファイル名だけを 流動的に指定できるようにするには どのようなVBAマクロにすればよいのでしょうか? とても困っています。 是非教えてください!宜しくお願いします。

  • エクセル2003マクロ

    特定のフォルダに同じサンプルNoのファイルがA~Dまで4種類ずつあり、これらから必要なデータを抽出し、同一Noに対して一つの集計ファイルを作成するマクロを作りたいと思っています。 ユーザーフォームで1台ずつサンプルNoを入力すれば、抽出→集計まで処理できるコードはできたのですが、サンプルNoを指定せずにコマンドボタン1発でフォルダ内のサンプル全てを同様に処理できる方法が分かりません。色々なサイトを覘きましたが、妥当な例がなく困っています。 ファイル名はそれぞれ、 A-1.xls、B-1.xls、C-1.xls、D-1.xls、A-2.xls、B-2.xls・・・という規則でついていて、全て同じフォルダに保存されています。 どなたか良い知恵をお貸し下さい。

  • Excelのハイパーリンクで絶対パスが動作しない

    こちらで同類の質問を見つけましたが解決に至っていなかったので質問させていただきます。 当方、Excel2000を使用しています。 サーバー上にある共有フォルダ(Jドライブ)の同じフォルダの中に「A.xls」とリンク参照先のファイル「B.xls」があります。 「A.xls」のセルに、「B.xls」を開くためのハイパーリンクを、絶対パス(J:\フォルダ名\B.xls)で指定しました。 しかし、「A.xls」を例えばローカルドライブ(Cドライブ)のデスクトップにコピーし、そちらを開いてハイパーリンクをクリックすると、Jドライブにある「B.xls」を開きたいのに、ハイパーリンクが相対パスに変わってしまって、デスクトップ上のB.xlsを探してしまうため「ファイルが見つかりません」と表示されてしまいます。 [ハイパーリンクの編集]で確認したところ、「ファイル名またはWebページ名」欄には絶対パス「J:\フォルダ名\B.xls」を指定したはずなのに「J:\フォルダ名\」の部分が消えてしまい、「B.xls」というファイル名しか残っていませんでした。 Microsoftサポート情報『JP418119:以前のバージョンでハイパーリンクが開けない』の原因欄に『参照元と参照先が同じドライブの場合、ファイルを保存した時点で相対パスに変更されます。』とあったので、システムの仕様なのかもしれませんが、同一フォルダ内にあるファイルでも絶対パスの情報を保持する方法はないでしょうか。 デスクトップにある「A.xls」でハイパーリンクを設定すれば、「B.xls」と別フォルダのためか絶対パスが保持されるのですが、「A.xls」は最終的には「B.xls」と同じフォルダ内に保存しておきたいので、いちいちコピーするのはなるべく避けたいため、同一フォルダ内でも絶対パスの指定を保持する方法を教えてください。

  • Excelのマクロについて

    お世話になります。 当方はマクロについての知識が一切なく、皆様にご助力いただきたく存じます。 1. 指定した3つのシートを1つのPDFに変換し、ファイル名は指定したセルの値で、保存先はデスクトップ。(※社員全員が使用することを前提としています。デスクトップの任意のフォルダや既存ファイルに上書きするのではなく、新規ファイルとして保存させたいです。) 2. 今開いているExcelをそっくりそのままコピーし、ファイル名のみ指定したセルの値で、保存先はデスクトップ。(※マクロは有効にしておきたいので、xlsmの拡張子のまま保存させたいです。) 自分で色々試しましたが、出来る出来ないの差異があり困っております。 よろしくお願いいたします。

  • エクセルのマクロで質問です

    エクセルのマクロで質問です。 SaveAsを使って、あるセルの文字列をファイル名として保存する、というマクロを作りました。 取りあえずうまくいっているのですが、同じファイル名がすでに存在した場合、「上書きしますか?」というダイアログが出ます。 運用上、上書きは困るのですが、「いいえ」を選択するとマクロがエラーで止まってしまいます。 そこで、以下のどちらかの動作を実現するマクロは可能でしょうか? 1.いいえを選んだ時に、ファイル名を指定するダイアログに飛ぶ 2.同じファイル名があった場合、自動的に末尾に数字を不可して保存する(ファイル名.xlsがあった場合はファイル名2.xlsで保存する) よろしくお願い致します。

  • エクセル2007 マクロについて教えてください

    エクセルのデータが2個あります。 それぞれ、ファイル名は 顧客データ.xlsと個別シート.xlsです。 顧客データ.xlsには、10名のお客様の情報があり、A1セルには ID番号 と入力してあり、 A2~A11セルにID番号が入力されています。 『個別シート.xlsにマクロで顧客データ.xlsのデータをコピーし、ID番号のフォルダをデスクトップに新規作成し、ID番号を付けて保存する』マクロを作成中です。 顧客番号が1234のお客様のデータを、個別シートにコピーし、デスクトップに1234というフォルダを新規作成し、その中に 個別シート_1234.xls というファイル名で保存をしたいです。 顧客データを自動でコピーするまではできましたが、それ以降ができません。 MkDir "C:\ Documents and Settings\xxx\デスクトップ\nknk\ID " ChDir "C:\ Documents and Settings\xxxi\デスクトップ\nknk\ID " ActiveWorkbook.SaveAs Filename:="個別シート_" & ID & ".xls" ActiveWorkbook.Close マクロを実行すると『実行時エラー76:パスが見つかりません』とエラーになります。 (フォルダ作成の命令文のところが黄色くなります。) ちなみに、個別シートの指定したセルに、IDはコピーされています。 正しく実行できる文を教えてください。また、以降の命令文は正しいでしょうか。 よろしくお願いします。  

  • エクセルのマクロについて教えてください。

    エクセルのマクロについて教えてください。 Dドライブのaaaというフォルダにある、何百個あるXLSファイルを開いて、カンマを取った後、CSVに保存したいです。 保存の名前はそのままで、拡張子だけをcsvに変えたいです。 エクセルは初級者レベルなのでプログラムも判らないのですが、自分で作ってみました。 Sub Macro20() ' ' Macro20 Macro ' マクロ記録日 : 2010/4/29 ユーザー名 : ' ' Keyboard Shortcut: Ctrl+e ' Application.ScreenUpdating = False '画面更新を一時停止 CChDir ("D:/aaa") 'フォルダー名取得 Filename = Dir(ThisWorkbook.Path & "\*.xls") 'フォルダ内のXLSファイルを検索 Do Until fname = Empty '全て検索 Set wb = Workbooks.Open(myfdr & "\" & fname) 'そのファイルを開きwbとする。 n = n + 1 'カウントしnとする Workbooks.Open Filename:= _ "C:\Documents and Settings\Owner\My Documents\aaa\1.xls" Cells.Select Selection.NumberFormatLocal = "G/標準" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\Owner\My Documents\aaa\*.csv", FileFormat:=xlCSV, _ CreateBackup:=False fname = Dir 'フォルダ内の次のCSVファイルを検索 Loop '繰り返す Application.ScreenUpdating = True '画面更新一時停止を解除 MsgBox n & "件を処理しましました。" End Sub ↓ 駄目でした>< アドバイスどうかお願い致します。

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

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

  • このEXCELマクロのコードを、教えて下さい。

    恐れ入ります。初心者です。WinXP、Excel 2002を使用。VBAコードは読めません。 1、フォルダ名(入力用フォルダ1)に R02061701.CSV  R02061702.CSV ~R020617012.CSV の下2桁のみ昇順になってるファイル12個があります。 各ファイルの最後尾(全ファイル100行以内)の行から「3行目データだけ」かつ「F列以降」を 列方向昇順に並べ変えて、 ブック名(入力用ブック1.xls)のB3、B6、…B36へと2つ置きに12個を表示させる。 2、次に、フォルダ名(入力用フォルダ2)にも R03062701.CSV~R03062712.CSV の下2桁のみ昇順になってるファイル12個があります。 1と同様に ブック名(入力用ブック1.xls)のB4、B7、…B37へと2つ置きに表示させる。 3、次に、フォルダ名(入力用フォルダ3)にも  R08064701.CSV~R08064712.CSV  の下2桁のみ昇順になってるファイル12個があります。  1と同様に  ブック名(入力用ブック1.xls)のB5、B8、…B38へと2つ置きに表示させる。 結果、B3~B38まで全部うまります。  A   B    C   D    E   F    G   E  ・・・・  1 2 結果 1    2   3    4   5    6   7  ・・・・ 3 1 4 1 5 1 6 2 7 2 8 2 9 3 . . . . 以上ですが、この内容でコード作成に無理な部分がおありでしたら、おっしゃってください。  修正は致します。

  • Excelマクロをボタンにすると実行に失敗します。

    Excelマクロをボタンにすると実行に失敗します。 WindowsXP・Excel2003です。 共有フォルダがあり、同ディレクトリに以下の2つのファイルを置いています。 [○×商社]報告書(計算用).xls [○×商社]報告書.xls [○×商社]報告書(計算用).xlsには大量の関数が入っており、マクロで [○×商社]報告書.xlsの方に全シートを値貼りをするようにしています。 そのマクロなのですが、Alt+F8から実行するときは普通に動作しますが、 ボタンを設置して割り当てて実行をすると、 '○×商社.xls'が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。 [ファイル]メニューの最新使用したファイルの一覧からファイルを開こうとしている場合は、 そのファイルの名前が変更されていないこと、移動または削除されていないことを確認してください。 というメッセージが表示され、「OK」をクリックすると続けて、 '○×商社.htm'が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。 [ファイル]メニューの最新使用したファイルの一覧からファイルを開こうとしている場合は、 そのファイルの名前が変更されていないこと、移動または削除されていないことを確認してください。 というメッセージが表示され、上手くいきません。 ネットで色々検索しましたが同様の現象は見つからず、 カレントフォルダの変更など色々試しましたが自力では解決できませんでした。 当然、マクロ内に'○×商社.xls'や'○×商社.htm'は指定していませんし、 そもそも共有フォルダ内にそのようなファイルは元からありません。 原因がわかる方、解決方法をご教示いただけませんでしょうか。困っています。

専門家に質問してみよう