[[20150726080505]] 『マクロ 名前を付けて保存』(ますぴー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ 名前を付けて保存』(ますぴー)

マクロを使って名前を付けて保存をしたい。

保存先…cドライブの展開用フォルダー
ファイル名…セルA1に入力されている文字をファイル名とする。

 但し、一部の文字しか使わない。
例えば、セルA1に株式会社aaa、bbb株式会社、ccc有限会社だったら、株式会社、有限会社は省いたaaa.xlsxだったりbbb.xlsxだったりccc.xlsxとしたいですが、可能でしょうか。
VBA初心者の為、教えて下さい。
よろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 (株)や  (有) 等は対応していません。
 A1 に ●●株式会社 や 有限会社□□商事 といった文字をいれて以下のSampleを実行してみてください。

 Sub Sample()
    Dim s As String

    s = Range("A1").Value
    MsgBox Replace(Replace(s, "株式会社", ""), "有限会社", "") & ".xlsx"

 End Sub

 で、名前を付けて指定フォルダに保存するコードは、その操作をマクロ記録してみてください。
 (保存する名前は hoge.xlsx とか、好きな名前で)
 できあがったコードの中のファイルパス文字列の中の、"C:\・・・・・・\hoge.xlsx" となっている部分を
 、"C:\・・・・・・\" & ファイル名文字列が入った変数 にすればOKです。

(β) 2015/07/26(日) 08:44


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

ファイル名文字列が入った変数はどういうことでしょうか。

よろしくお願いします。
(ますぴー) 2015/07/26(日) 10:13


 たとえばアップしたSampleを以下のようにしたらわかりますか?

 Sub Sample2()
    Dim s As String

    s = Range("A1").Value
    s = Replace(Replace(s, "株式会社", ""), "有限会社", "") & ".xlsx"
    MsgBox s

 End Sub

 このコードでいえば s というのが 目的の文字列がセットされている変数です。
 ですから "C:\・・・・・・\" & s ということになるんですが?

(β) 2015/07/26(日) 10:22


(β) さん

ありがとうございました。
できました。
(ますぴー) 2015/07/26(日) 10:44


度々すみません。

続きなのですが、
マクロボタンは、Aシートで作業していて、
bシートのA1セルを使って名前を付けて保存したい場合は
どうすればよいのでしょうか。

bシートをアクティブにして試したのですがダメでした。

ご教示願います。
(ますぴー) 2015/07/27(月) 20:01


 s = Sheets("B").Range("A1").Value

 にしたらいいんですが

 >>bシートをアクティブにして試したのですがダメでした。

 Bシートをアクティブにして実行すれば、s = Range("A1").Value でもいいはずです。

 だめだったというのは、具体的にどう、だめだったんですか?
 それと、コードを、SubからEnd Sub まで、【そのまま】コピペしてアップしてください。

(β) 2015/07/27(月) 20:37


 あっ、もしかして、コードをAシートの【シートモジュール】に書いたんですか?
 それなら、Bシートをアクティブにしても s = Range("A1").Value は、Aシート(コードが書かれたシート)の A1 になります。

 なので、s = Sheets("B").Range("A1").Value でいけるはずです。

(β) 2015/07/27(月) 20:52


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.