Excel VBA質問箱 IV

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

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


64462 / 76738 ←次へ | 前へ→

【16857】Re:2つの文字列を検索
お礼  Muro  - 04/8/12(木) 9:33 -

引用なし
パスワード
   ▼ichinose さん:
>▼Muro さん:
>こんばんは。
>
>>セルに書かれた文字列の中で、2つの文字列を検索しコンボボックスに表示したいのですが、どのようにすればよいのでしょうか?
>>イメージとしては以下の通りです。
>>  A  B  C  D 
>>1 ABC GHI CIS OLW
>>2 UHI TRZ KUM PQU
>>3 BIS YNA GOW QRT
>>4 MUA JHI TQP KIS
>>
>>と書かれていたら検索文字を"HI"と"IS"として
>>"HI"と"IS"が含まれる文字列をコンボボックス上に表示させたいです。
>>もし"HI"を含む文字列がない場合は"IS"を含む文字列だけを表示するということは
>>できますか?
>私は、あまりFindメソッドは使わないんですが・・・。
>拝見したコードは、"HI"を含むセルの内容はコンボボックスにセットされいますよね?
>"IS"でも検索するコードを追加してみては?
>
>'===============================================================
>Private Sub UserForm_Initialize()
>  Dim target()
>  target() = Array("HI", "IS")
>  Call set_combobox(Worksheets(Worksheets.Count).UsedRange.Columns, target())
>End Sub
>'===============================================================
>Sub set_combobox(f_rng As Range, f_str())
>  Dim c As Range
>  Dim FirstAddress As String
>  Dim ctarget
>  For Each ctarget In f_str()
>   With f_rng
>    Set c = .Find(what:=ctarget, LookIn:=xlValues, LookAt:=xlPart) '---cに検索結果を格納
>    If Not c Is Nothing Then  '---条件に当てはまるセルがあれば
>      FirstAddress = c.Address  '---最初のセルのアドレスを覚える
>      Do           '---do...Loopステートメント
>        ComboBox1.AddItem c '---情報のコピー
>        Set c = .FindNext(c)  '---今見つけたセルから次のセルを検索
>      Loop While c.Address <> FirstAddress '----条件に当てはまる全てを検索
>     End If
>    End With
>   Next
>End Sub


ありがとう御座います。
おかげさまで解決いたしました!!
0 hits

【16840】2つの文字列を検索 Muro 04/8/11(水) 17:15 質問
【16845】Re:2つの文字列を検索 ichinose 04/8/11(水) 18:24 回答
【16857】Re:2つの文字列を検索 Muro 04/8/12(木) 9:33 お礼

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