Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5366 / 13646 ツリー ←次へ | 前へ→

【51273】文字の中から特定の文字を取り出す おやじvba若葉マーク 07/9/8(土) 3:31 質問[未読]
【51274】Re:文字の中から特定の文字を取り出す ichinose 07/9/8(土) 6:19 発言[未読]
【51277】Re:文字の中から特定の文字を取り出す おやじvba若葉マーク 07/9/8(土) 12:45 お礼[未読]
【51275】Re:文字の中から特定の文字を取り出す かみちゃん 07/9/8(土) 9:54 発言[未読]
【51276】Re:文字の中から特定の文字を取り出す おやじvba若葉マーク 07/9/8(土) 12:44 発言[未読]
【51278】Re:文字の中から特定の文字を取り出す かみちゃん 07/9/8(土) 12:51 発言[未読]

【51273】文字の中から特定の文字を取り出す
質問  おやじvba若葉マーク  - 07/9/8(土) 3:31 -

引用なし
パスワード
   例えば
クイーンS(G3)
という文字列の中から 
G3
という文字を取り出すには関数では
MID(E14,SEARCH("G3",E14),SEARCH(")",E14)-SEARCH("G3",E14))
でできますが
VBAではどうすればよいのでしょう。

【51274】Re:文字の中から特定の文字を取り出す
発言  ichinose  - 07/9/8(土) 6:19 -

引用なし
パスワード
   ▼おやじvba若葉マーク さん:
おはようございます。
>例えば
>クイーンS(G3)
>という文字列の中から 
>G3
>という文字を取り出すには関数では

G3という文字を取り出すのに数式中に"G3"という文字列を
入れてしまうのは、おかしいですよね??

>MID(E14,SEARCH("G3",E14),SEARCH(")",E14)-SEARCH("G3",E14))

これは、"(",")"の二つの文字列を検索することで中の文字列を取り出します。

=MID(E14,SEARCH("(",E14)+1,SEARCH(")",E14)-SEARCH("(",E14)-1)

VBAにも同じ関数があります。
Mid関数は、VBAにも同じ関数があります。
search関数は、instr関数で同じことができます。

Sub samp()
  Dim r As Variant
  r = Range("e14").Value
  MsgBox Mid(r, InStr(r, "(") + 1, InStr(r, ")") - InStr(r, "(") - 1)
End Sub

VBAでの方法は他にもいくつかあると思いますよ!!

正規表現を使うとか(これを押さえておくと色々便利)、
又は、ループして一文字ずつチェックするとか・・・。

最後は↑これで殆ど出来てしまいますから、
文字列の検索プログラムは楽しみながら
色んな手法を見つけてください。

今から、HERO観るために映画館で並びます。
50歳を目前にして・・・。

では2

【51275】Re:文字の中から特定の文字を取り出す
発言  かみちゃん  - 07/9/8(土) 9:54 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>例えば
>クイーンS(G3)
>という文字列の中から 
>G3
>という文字を取り出す

"(" と ")" の間の文字列を取り出したいという規則性であれば、私は以下のような感じ
にしています。

Sub Test()
 Dim strData As String
 
 strData = "クイーンS(G3)"
 If InStr(strData, "(") > 0 Then
  strData = Mid(strData, InStr(strData, "(") + 1)
  If InStr(strData, ")") > 1 Then
   strData = Mid(strData, 1, InStr(strData, ")") - 1)
  End If
 End If
 MsgBox strData
End Sub

なお、#51194のご質問は、どうなったのでしょうか?

【51276】Re:文字の中から特定の文字を取り出す
発言  おやじvba若葉マーク  - 07/9/8(土) 12:44 -

引用なし
パスワード
   ▼かみちゃん さん:
いつもお世話になります
規則性がない場合はどうなのでしょう。

>なお、#51194のご質問は、どうなったのでしょうか?
5-5-5と表示できるようになりました。
ありがとうございました。

【51277】Re:文字の中から特定の文字を取り出す
お礼  おやじvba若葉マーク  - 07/9/8(土) 12:45 -

引用なし
パスワード
   ▼ichinose さん:
回答ありがとうございます。
HEROはどうでした?

【51278】Re:文字の中から特定の文字を取り出す
発言  かみちゃん  - 07/9/8(土) 12:51 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>規則性がない場合はどうなのでしょう。

どのように取り出すか考えてみてください。
すると、できないことがわかると思います。

>>なお、#51194のご質問は、どうなったのでしょうか?
>5-5-5と表示できるようになりました。
>ありがとうございました。

それは、ここで言われても・・・
元スレッドにコメントしていただきたいと思います。

5366 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free