[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『()内の文字のみを抽出して分割したい』(kk)
こんにちは。 どなたかおわかりになる方いらっしゃいましたら教えて下さい。
1つのセルに A(a,B、C,d:E,〜.F~,)FF
と全角・半角・数字・文字問わずあるのですが、これをカッコの中のみ取り出して、さらに、セルごとに分割したいと思っております。
カッコは全角の場合と半角の場合があります。
詳しく教えて頂けると助かります。
宜しくお願い致します。
Excel2007
どのように分割したいのでしょう? (seiya)
宜しくお願い致します。 (KK)
とりあえず、A列の文字列を分割
Sub test()
Dim r As Range, txt
With CreateObject("VBScript.RegExp")
.Global = True
For Each r In Range("a1", Range("a" & Rows.Count).End(xlUp))
txt = r.Value
.Pattern = "[\((](.*)[\))]"
If .test(txt) Then
txt = .Execute(txt)(0).submatches(0)
.Pattern = "([〜\.~]|[,,\.、](?!.))"
txt = .Replace(txt, "")
.Pattern = "[::,、]"
txt = Split(.Replace(txt, ","), ",")
r(, 2).Resize(, UBound(txt) + 1).Value = txt
End If
Next
End With
End Sub
(seiya)
自分の投稿だとしても勝手に削除は無いんじゃないの? Moook
kk さんのことじゃないですよ! Moooook
先程ご指導頂きありがとうございました。
私の質問が至らず申し訳ございませんが、質問を追加させて下さい。
A(a,B、C,d:E,〜.F~,)F の()の中の区切りとして考えられるものが
(、,(半角・全角含) セミコロン コロン 〜 ~ ドット - ハイフン
とございます。
これを一度に区切れればと思っております。
失礼ながらご指導よろしくお願い致します。
(KK)
A(a,B、C,d:E,〜.F~,)F
コードは
1) ()内の文字列を抽出
a,B、C,d:E,〜.F~,
2) 1) で抽出した文字列中の 〜 ~. と 文末の,,、を削除
a,B、C,d:E,F
3) 2) の処理後の文字列の ,.、::を半角カンマに置き換えて、Split関数で分割
a,B,C,d,E,F
4) B列から分割した文字列を表示
>A(a,B、C,d:E,〜.F~,)F の()の中の区切りとして考えられるものが >(、,(半角・全角含) セミコロン コロン 〜 ~ ドット - ハイフン >とございます。 >これを一度に区切れればと思っております。
よく意味が解りません。 (seiya)
試してみます。
ご指導頂きありがとうございました。
(KK)
カッコ内に数字もありますので、数字も含め取り出したいです。
尚、 ハイフン があるとセルの分割ができないので、困っております。
素人なので何度も申し訳ございませんが宜しくお願いいたします。
(KK)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.