Excel VBA質問箱 IV

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

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


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

【60327】全角・半角を同じで認識させたい kako 09/2/10(火) 11:00 質問[未読]
【60329】Re:全角・半角を同じで認識させたい Abyss 09/2/10(火) 11:27 回答[未読]
【60332】Re:全角・半角を同じで認識させたい kako 09/2/10(火) 13:26 お礼[未読]
【60330】Re:全角・半角を同じで認識させたい にぃ 09/2/10(火) 11:27 回答[未読]
【60331】Re:全角・半角を同じで認識させたい にぃ 09/2/10(火) 11:29 発言[未読]

【60327】全角・半角を同じで認識させたい
質問  kako  - 09/2/10(火) 11:00 -

引用なし
パスワード
   E列の文字列内に「(A)」があれば「AAA」を返すという
条件コードを組みました

Dim r As Range
  Dim ss As String
  Dim v
  For Each r In Range("E2:E100")
    ss = r.Value
    v = Empty
    Select Case True
     Case ss Like "*(A)*":  v = "AAA"
    End Select
    r.Offset(, -1).Value = v
Next

キーになる「(A)」が全角でも半角でも「AAA」を返すようにしたいのですが
うまくできません

「(A)」の最初の「(」が全角で他は半角だったりとパターンがまちまちになっております

Select Caseで全てのパターンを入力すればよいのですが
数が多いので簡単に出来ればと考えております

ご教授いただけますでしょうか
よろしくお願い致します

【60329】Re:全角・半角を同じで認識させたい
回答  Abyss  - 09/2/10(火) 11:27 -

引用なし
パスワード
   こんにちは

こんな風でよいのでは?

Case StrConv(ss, vbNarrow) Like "*(A)*": v = "AAA"

【60330】Re:全角・半角を同じで認識させたい
回答  にぃ  - 09/2/10(火) 11:27 -

引用なし
パスワード
   ▼kako さん:
こんにちは!

>キーになる「(A)」が全角でも半角でも「AAA」を返すようにしたいのですが
>うまくできません
>
>「(A)」の最初の「(」が全角で他は半角だったりとパターンがまちまちになっております
発想を逆にして、文字を半角に変えてから判断するのはいかがでしょう?


>Dim r As Range
>  Dim ss As String
>  Dim v
>  For Each r In Range("E2:E100")
     ss = StrConv(r.Value, vbNarrow) '文字を半角に
>    v = Empty
>    Select Case True
>     Case ss Like "*(A)*":  v = "AAA"
>    End Select
>    r.Offset(, -1).Value = v
> Next
>

【60331】Re:全角・半角を同じで認識させたい
発言  にぃ  - 09/2/10(火) 11:29 -

引用なし
パスワード
   Abyssさん

すみません、被りましたね^^;

【60332】Re:全角・半角を同じで認識させたい
お礼  kako  - 09/2/10(火) 13:26 -

引用なし
パスワード
   ご教授ありがとうございます。

柔軟な発想が大事ですね
感謝です!

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