【Excelテクニック】シート名の置換2

こんにちは。Nakaiです。
冬晴れのいいお天気ですね!
早速、昨日の続きで、今日は任意の文字列を置換してシート名を一括で変更する方法をお伝えします。
任意の文字列を入力するためのメッセージボックスを表示させるためには、Excel-VBAのInputBox関数を利用します。
通常入力した文字列は変数に代入して利用します。
今回は、置換したいシート名の文字列と、置換後のシート名の文字列の入力が必要ですので、InputBoxは2回表示させます。
ですから、変数を2つ用意しなければいけません。
Sub midashi_change2()
Dim ws As Worksheet, buf1 As String, buf2 As String
buf1 = InputBox(“置換したい文字列を入力”)
buf2 = InputBox(“置換後の文字列を入力”)
End Sub


このように、インプットボックスが表示されますので、置換したい文字列と、置換後の文字列をそれぞれ入力します。
これでは変数に値が代入されるだけですので、次に代入された変数を利用して、シート名の変更をする繰り返しの記述をします。
For Each ws In Worksheets
ws.Name = Replace(ws.Name, buf1, buf2)
Next
Replace関数は、置換の関数ですが、置換元をbuf1、置換後をbuf2にすることにより、FOREACHステートメントの繰り返し構文により、全てのシート名の置換が可能です。
Sub midashi_change2()
Dim ws As Worksheet, buf1 As String, buf2 As String
buf1 = InputBox(“置換したい文字列を入力”)
buf2 = InputBox(“置換後の文字列を入力”)
For Each ws In Worksheets
ws.Name = Replace(ws.Name, buf1, buf2)
Next
End Sub
まとめたコードが上記です。
Excel-VBA初心者の方は、「変数」の概念が少し難しいかもしれませんね。
基本からしっかり学習していただくと、自分の仕事を効率化していくことが可能になります。
ご興味がある方は是非パソコンスクールISA船橋FACE校にご来校ください。
夢を叶えるキャリアアップスクール パソコン教室ISA船橋FACE校
「すべては受講生のために」をモットーに、ビジネスに必要なパソコンスキルから
就転職に向けてのパソコン資格の取得まで個別授業を行っています。
是非お気軽にご来校ください。
住所:千葉県船橋市本町1丁目3-1 FACEビル12F
連絡先:TEL: 047-424-3544
Mail: isa_funabashi@isa-school.co.jp
授業時間
月~木 10:30~20:30
金~日 10:00~17:00