Excel VBA質問箱 IV

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

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


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

【14421】like演算子がよく分かってないのかもしれません はっしー 04/5/28(金) 15:35 質問[未読]
【14423】Re:like演算子がよく分かってないのかもし... Asaki 04/5/28(金) 15:45 回答[未読]
【14426】Re:like演算子がよく分かってないのかもし... はっしー 04/5/28(金) 16:26 お礼[未読]

【14421】like演算子がよく分かってないのかもしれ...
質問  はっしー  - 04/5/28(金) 15:35 -

引用なし
パスワード
   お世話になります。

ワークシートにいくつかレコードがあり(仮に99とします)、そのレコードをテキストボックスの文字列で検索をかけるようにしたいと思っております。
(1行目はタイトル、G列までレコードが入っています)


Private Sub cmdksk_Click()

    Dim knsk as String 'テキストボックスから文字列を取得する変数
    Dim hkk as String 'ワークシートから文字列を取得する変数。
    Dim s1i as Integer 'ループコントロール用の変数
    Dim s2i as Integer 'ループコントロール用の変数
    Dim hkkf1 As Boolean '文字列を比較して判別するフラグ
    
    knsk = txtnrk.Value
    knsk = StrConv(knsk, vbWide) 'テキストボックスから文字列を取得し
                    '全角文字に変換
    
    For s1i = 2 To 100
      
      For s2i = 1 To 7
      hkk = Worksheets("sheet1!").Cells(s1i, s2i).Value
      hkk = StrConv(hkk, vbWide) 'ワークシートより文字列を取得
                    '全角文字に変換
      
     
      hkkf1 = "hkk" Like "*knsk*"
      If hkkf1 = True Then
      
      MsgBox "引っかかった"
      
      End If
      MsgBox hkkf1
      hkkf1 = False

      Next
      
    Next

End Sub


検索が引っかかった場合次の処理をする予定なのですが、試みにここまでコーディングしてみました。
ところが、レコードとまったく同じ文字をテキストボックスに入力しても、レコードそのものをテキストボックスにコピーしてみても、likeの結果がまったくtrueになりません。

いったいどこに問題があるのでしょうか?。
どなたかご教示よろしくお願いします(*- -)_ _)。

【14423】Re:like演算子がよく分かってないのかも...
回答  Asaki  - 04/5/28(金) 15:45 -

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

変数は " で括ったらダメです。
また、& で繋いだりしてください。
↓こんなもんでよいのでは?

>hkkf1 = "hkk" Like "*knsk*"
>If hkkf1 = True Then

If hkk Like "*" & knsk & "*" Then

【14426】Re:like演算子がよく分かってないのかも...
お礼  はっしー  - 04/5/28(金) 16:26 -

引用なし
パスワード
   解決いたしました。
ありがとうございます。
コードもすっきりして感謝、感謝です。

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