[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ 名前を付けて保存』(ますぴー)
マクロを使って名前を付けて保存をしたい。
保存先…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.