|
▼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
ありがとう御座います。
おかげさまで解決いたしました!!
|
|