|
似たような質問が多数あったのですが、どれを読んでもうまく
いかなかったので、改めて質問させて頂きます。
************* 質 問 内 容 *************
表が用意されているのですが、表の行数が200前後と多いため、
文字列による検索をかけます。
F列に表の各行の文字列を全て表示させ、
ユーザーフォームの入力欄(TextBox1)にて入力した文字列があれば、
隣(G列)のセルに「1」を立てて、後にG列に「1」が立っている行について
オートフィルタにて結果を出します。
表の行数は、変動します。
私が考えた結果は、下記の通り
Dim a
a = TextBox1
Dim x As Long, y
x = Range("F3").CurrentRegion.Rows.Count
y = x - 4
Dim i As Integer
For i = 4 To y
Cells(i, 6).Select
Dim s As Range
Set s = ActiveCell.Find(what:=a, lookat:=xlPart)
If s Is Nothing Then
ActiveCell.Offset(0, 1).Value = 1
Else
ActiveCell.Offset(0, 1).Value = ""
End If
Next
これだと、表の中に一致する文字列があれば
G列の全ての行に「1」を立ててしまうようです。
どこが間違っているのか分かりません。
どうかご教示願います。
|
|