特定文字間の文字列の抽出 | |
---|---|
[194888] 特定文字間の文字列の抽出- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ マルロ -(2022/05/11(10:05)) □U R L/ お世話になります。 セルA1に \\folder1\forder2\folder3\folder4\folder5\AAAA.txt とファイルのパスが文字列で入力されています。 セルA1を参照し、 セルA2にはfolder5のフォルダ名を、 セルA3にはAAAA(拡張子省く)のファイル名を抽出したい、 と言う場合にはどうしたらいいでしょうか。 ちなみに各フォルダ名とファイル名は都度変わるのでMID関数の「何文字目から」という指令が使えません フォルダの階層は固定されていますので「6個目の"\"と7個目の"\"の間」「7個目の"\"と"."の間」という考え方が適切かなと思いますがコードの書き方がわかりません。 何卒ご教授お願い致します。 |
[194889] Re[1]: 特定文字間の文字列の抽出- ■記事引用/メール受信=OFF■ □投稿者/ hatena -(2022/05/11(10:27)) □U R L/ 下記でどうでしょう。 Sub Sample() Dim ary, ub As Long ary = Split(Range("A1").Value, "\") ub = UBound(ary) Range("A2").Value = ary(ub - 1) Range("A3").Value = Split(ary(ub), ".")(0) End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[194890] Re[2]: 特定文字間の文字列の抽出- ■ / 記事引用/メール受信=OFF■ □投稿者/ マルロ -(2022/05/11(11:46)) □U R L/ 希望通りにできました こんなに短くできるなんて! MID関数とLEFT関数の組み合わせで・・ などと難しく考え無駄に長いコードで失敗していました。 Split関数とUBound関数、今後の為に勉強してみたいと思います。 ありがとうございました。 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
このトピックに書きこむ |
---|