[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセルマクロ 名前を付けて保存について』(うさぎさん)
マクロで名前を付けて保存できるボタンを作成したいと思うのですが、シート名とA1セルに入力してある文字を入れて、保存することなんてできますでしょうか?
たとえば、A1セルに うさぎ と入っている場合でシート名が振込用紙の場合、 振込用紙(うさぎ)として、名前を付けて保存したいです。 こんなことできますでしょうか???
ボタンではなくマクロを直接実行することを想定した方法ですが、 下記のような感じでどうでしょうか。 現在アクティブなシートを対象に処理をします。
Sub SaveWS() Dim savePath As String savePath = ThisWorkbook.Path & "\" & ActiveSheet.Name & "(" & ActiveSheet.Range("A1").Value & ")" & ".xls"
If Dir(savePath) <> "" Then MsgBox savePath & vbNewLine & "は既に存在しています。" Exit Sub End If
ActiveSheet.Copy ActiveWorkbook.SaveAs savePath ActiveWorkbook.Close MsgBox savePath & vbNewLine & "を保存しました。" End Sub マクロにショートカットを割り当てれば、汎用性が広がるかと思います。 (Mook)
ありがとうございました。感動です。できましたー。 現在、デスクトップに保存するマクロだと思うのですが、これをマクロで「作業フォルダ」というフォルダを 自動で作成して、その中にこのシートを保存するようなこともできますでしょうか?
よろしくお願いします。(うさぎさん)
現在の仕様はデスクトップではなくマクロのある EXCEL ファイルと同じ フォルダに作成しています。
フォルダを作成するのでしたら、 If Dir( ThisWorkbook.Path & "\作業フォルダ" ) = "" Then '// フォルダの確認 mkdir ThisWorkbook.Path & "\作業フォルダ" End If でEXCELファイルのあるフォルダ下に作業フォルダができます。
保存先を savePath = ThisWorkbook.Path & "\作業フォルダ\" & ActiveSheet.Name & "(" & ActiveSheet.Range("A1").Value & ")" & ".xls" とすれば希望通りになるでしょうか。 (Mook)
はじめの1回はちゃんとできるのですが、2回目以降は実行時エラー75 パス名が無効ですとでてしまいます。 1回目に作業フォルダを作成して保存し、2回目に保存する場合、作業フォルダがあればそのフォルダへ、 作業フォルダが作られてなければ作成して保存なんてことはできませんでしょうか?
>現在の仕様はデスクトップではなくマクロのある EXCEL ファイルと同じ フォルダに作成しています。
デスクトップに作業フォルダを作成して、保存することはできませんでしょうか? お手数ですがよろしくお願いします。 (うさぎさん)
また、デスクトップ上の保存は、多数の端末から使用する場合はパスが指定できないのですが、何かいい方法はありますでしょうか? 難しいようでしたら、mookさんからご教授いただいたようにEXCEL ファイルと同じフォルダに作成でもかまいません。
おわかりになりましたらぜひ教えて下さい。(うさぎさん)
何で消えてるんだろ。。。 取りあえず、↓ 追加質問は新規にされた様なのでリンク。 [[20100311174616]] 『IF文を使っての保存』(うさぎさん)
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.