If you want to speed it up you can go through an array instead of going
through the cells:
Dim R As Long, Values As Variant
Values = Range("H1:H" & UsedRange.Rows.Count) 'or whatever your range is
For R = 1 To UBound(Values, 1)
If InStr(Values(R, 1), "something") Then DoSomething
Next R
Stefano
"Lucky" wrote:
> Thanks, Mike. Yours doesn't use Find and FindNext, but it's cleaner
> than what I have, so I'll probably use it. One little problem is that
> if one of the occurrences if removed for some reason, then the count
> will be off. For instance, if the highest numbered entry is
> "myfile(8).xls" and for some reason "myfile(4).xls" has been removed,
> then just counting and adding 1 would duplicate one. Only 7 would be
> counted, and "myfile(8).xls" would be added again. So, I have to use
> something like
>
> If InStr(Cells(g, "h"), "myfile") = 1 And InStr(Cells(g, "h"),
> ".xls") > 0 Then
> myStart = InStr(Cells(g, "h"), "(")
> If myStart > 0 Then myEnd = InStr(Cells(g, "h"), ")")
> If myEnd > 0 Then
> nbrstr = Mid(Cells(g, "h"), myStart + 1, myEnd -
> 1)
> If Val(nbrstr) > biggest Then biggest = Val
> (nbrstr)
> End If
> End If
>
> Then, I have to add 1 to the biggest and use that for the next one.
> Not really hard to do, but it does slow down things a bit. Only way I
> know to do it,though. Any ideas on this? Thanks again!
> .
>
|