Excel VBA で フォルダ名の一部を一括変更(セルの値を取得して変更)
こんにちは。例を挙げます。よろしくお願いします。
まず、"ABC" という名前のフォルダがあるとします。
この"ABC"の中に、"00_あいうえお"というフォルダがあるとします。
ほかにも同じようなフォルダ:"10_かきくけこさ123"、"01_しす45せそたち"、"67_つてと"があります。これらのフォルダ名には特徴があり、2桁の半角数字に始まり、半角アンダーバー、文字列という並びになっています。
さらに同じフォルダ"ABC"に、EXCELファイル"なにぬ89.xls"もあるとしましょう。
したがって今、フォルダ"ABC"には、4つのフォルダと1つのEXCELファイルがあります。
"なにぬ89.xls"の、セルA1には"1"、A6には"2"、A11,A16は"34","57"と数値が入っているとします。また、セルB3には"あいう"、B8には"かき"、B13には"しす4"、B18には"つてと"という文字列が入っています。
B3,B8,B13,B18の文字列は、必ず同じフォルダ"ABC"内のフォルダ名に含まれています。
マクロで行いたい内容:フォルダ名の左端の2桁の数字を置換する
その詳細:
"なにぬ89.xls"のセルB3の文字列"あいう"を含むフォルダ"00_あいうえお"のフォルダ名の2桁の数字"00"のうち、右の"0"だけ、セルA1の数値"1"に置換したいのです。("00_あいうえお"→"01_あいうえお"へフォルダ名置換)
同じように、セルB8の"かき"を含むフォルダ"10_かきくけこさ123"の名前も、セルA5の数値"2"をもとに置換したいのですが、今度は2桁の数字が"02"になってほしいのです。("10_かきくけこさ123"→"02_かきくけこさ123"へフォルダ名置換)
以上のことをふまえますと、
フォルダ名"01_しす45せそたち" は "34_しす45せそたち"
"67_つてと" は "57_つてと" に変換したいということがお分かりいただけますでしょうか。
4つの例しかあげませんでしたが、実際の"なにぬ89.xls"にはもっとたくさんのデータが、5行おきに並んでいます。他のセルには無関係の文字列や空白などが入っています。
セルの値でフォルダ名を部分一致検索し、セルの値でそのフォルダ名を置換する、ということができるでしょうか?
説明が長くなりましたが、ご回答、お待ちしております。よろしくお願いいたします。
お礼
助かりました ありがとうございました。