Excel VBA質問箱 IV

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

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


6144 / 13645 ツリー ←次へ | 前へ→

【46941】LIKEパターンマッチングで あいまん 07/2/22(木) 20:02 質問[未読]
【46942】Re:LIKEパターンマッチングで ichinose 07/2/22(木) 20:34 発言[未読]
【46946】Re:LIKEパターンマッチングで Kein 07/2/22(木) 22:54 回答[未読]
【46947】Re:LIKEパターンマッチングで Kein 07/2/22(木) 22:56 発言[未読]

【46941】LIKEパターンマッチングで
質問  あいまん  - 07/2/22(木) 20:02 -

引用なし
パスワード
   みなさまはじめまして。
こちらのBBSにはいつもお世話になっております。

早速質問で恐縮なのですが、LIKEをつかったパターンマッチング(下記コード)を行っているのですが、半角カナと全角カナが区別されてしまいます。
半角、全角どちらもHITするようにはできないのでしょうか?
ご教授よろしくおねがいします。

If <検索範囲> Like "*" & 検索文字列変数 & "*" = True Then

・現状
検索文字列  カナ
検索結果   カナ

・希望
検索文字列  カナ
検索結果   カナ、カナ

【46942】Re:LIKEパターンマッチングで
発言  ichinose  - 07/2/22(木) 20:34 -

引用なし
パスワード
   ▼あいまん さん
こんばんは。


>
>If <検索範囲> Like "*" & 検索文字列変数 & "*" = True Then
>
>・現状
>検索文字列  カナ
>検索結果   カナ
>
>・希望
>検索文字列  カナ
>検索結果   カナ、カナ
Like演算子のHelpにも出ていますが、

Option Compare Text
Sub test()
  MsgBox "カナ" Like "*カナ*"
End Sub

上記のようにモジュールレベルの文字列の比較方法を設定します。

上記のコードではTrueが表示されます。

【46946】Re:LIKEパターンマッチングで
回答  Kein  - 07/2/22(木) 22:54 -

引用なし
パスワード
   Like演算子の使用に拘らないなら、数式を作業セルに埋めて検索する方法も
あります。例えば A1〜A列最終入力行までの範囲で "カナ"又は"カナ" を探すなら

Dim MyR As Range

With Range("A1", Range("A65536").End(xlUp)).Offset(, 255)
  .Formula = "=SEARCH(""カナ"",JIS($A1))"
  If WorksheetFunction.Count > 0 Then
   Set MyR = .SpecialCells(3, 1).Offset(, -255)
  End If
  .ClearContents
End With
If MyR Is Nothing Then
  MsgBox "「カナ」又は「カナ」が入力されたセルはありません"
  Exit Sub
End If

として、変数 MyR にヒットした全てのセルが格納されます。

【46947】Re:LIKEパターンマッチングで
発言  Kein  - 07/2/22(木) 22:56 -

引用なし
パスワード
   >If WorksheetFunction.Count > 0 Then


If WorksheetFunction.Count(.Cells) > 0 Then

でした。ども。

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