|
▼ごん さん:
こんにちは
ダイアログボックスでの検索語の取得については、InputBox関数、InputBoxメソッド、あるいは
ユーザーフォームの利用等々があります。ここもお手伝い必要かどうかがわかりませんので
とりあえず、そこはできているということで、検索語をあたえて検索するコードです。
Test内の Call 検索(・・・・)の引数に、1つないしは2つの検索語を指定して
実行してみてください。
Sub Test()
Call 検索("山本", "鈴木")
End Sub
Sub 検索(str1 As String, Optional str2 As Variant)
Dim mystr As Variant
Dim c As Range
Dim v() As String
With ActiveSheet.UsedRange
If Not IsMissing(str2) Then
ReDim v(1 To 4)
v(1) = "*" & str1 & "*" & str2 & "*"
v(2) = "*" & str2 & "*" & str1 & "*"
v(3) = "*" & str1 & "*"
v(4) = "*" & str2 & "*"
Else
ReDim v(1 To 1)
v(1) = "*" & str1 & "*"
End If
For Each mystr In v
Set c = .Cells.Find(What:=mystr, After:=.Cells(.Cells.Count), _
LookIn:=xlFormulas, LookAt:=xlWhole)
If Not c Is Nothing Then Exit For
Next
If c Is Nothing Then
MsgBox "指定した文字列は見当たりません"
Else
c.Activate
End If
End With
Set c = Nothing
End Sub
|
|