Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9
Default Have the Find, desperately need the FindNext !!

All credit to JLatham for the code below - A BIG THANKYOU! I now have
a UserForm with two text boxes, a "Search" Button and "Cancel"
Button. It works perfectly for one occurrence, but can someone please
help me by adding what I need in order to find the NEXT occurence each
time the user clicks the "Search" button? (I am searching for the
contents of a cell within a range that is NOT red & strikethrough). I
would soooooo appreciate the help! Thanks in advance. Here's the
code:

Const whatColor = 3 ' 3=red
Dim searchList As Range
Dim anyEntry As Range
Dim findEntry As String

'get the surname entry
'remove leading/trailing whitespace
'and convert to UPPERCASE for tests
findEntry = UCase(Trim(Me.TextBox1))
If findEntry < "" Then
'we do have a last name to seek
'look in column B for it
Set searchList = ActiveSheet.Range("B1:" & _
ActiveSheet.Range("B" & Rows.Count).End(xlUp). _
Offset(1, 0).Address)
For Each anyEntry In searchList
If UCase(Trim(anyEntry)) = findEntry Then
'name matched, check formatting
If anyEntry.Font.ColorIndex < whatColor And _
anyEntry.Font.Strikethrough = False Then
anyEntry.Activate
Set searchList = Nothing
Exit Sub ' all finished
End If
End If
Next
'if we get here, no match on lastname
'was found, see if we have a first name
'to look for
findEntry = UCase(Trim(Me.TextBox1))
If findEntry < "" Then
'have a first name to look for
'look in column C for it
Set searchList = ActiveSheet.Range("C1:" & _
ActiveSheet.Range("C" & Rows.Count).End(xlUp). _
Offset(1, 0).Address)
For Each anyEntry In searchList
If UCase(Trim(anyEntry)) = findEntry Then
'name matched, check formatting
If anyEntry.Font.ColorIndex < whatColor And _
anyEntry.Font.Strikethrough = False Then
anyEntry.Activate
Set searchList = Nothing
Exit Sub ' all finished
End If
End If
Next
End If
Else
'did not have last name, do we have
'a first name to search for
findEntry = UCase(Trim(Me.TextBox2))
If findEntry < "" Then
'have a first name to look for
'look in column C for it
Set searchList = ActiveSheet.Range("C1:" & _
ActiveSheet.Range("C" & Rows.Count).End(xlUp). _
Offset(1, 0).Address)
For Each anyEntry In searchList
If UCase(Trim(anyEntry)) = findEntry Then
'name matched, check formatting
If anyEntry.Font.ColorIndex < whatColor And _
anyEntry.Font.Strikethrough = False Then
anyEntry.Activate
Set searchList = Nothing
Exit Sub ' all finished
End If
End If
Next
End If
End If
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,124
Default Have the Find, desperately need the FindNext !!

Without looking at this, have you tried FINDNEXT. Look in the vba help index


--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Jeanette" wrote in message
...
All credit to JLatham for the code below - A BIG THANKYOU! I now have
a UserForm with two text boxes, a "Search" Button and "Cancel"
Button. It works perfectly for one occurrence, but can someone please
help me by adding what I need in order to find the NEXT occurence each
time the user clicks the "Search" button? (I am searching for the
contents of a cell within a range that is NOT red & strikethrough). I
would soooooo appreciate the help! Thanks in advance. Here's the
code:

Const whatColor = 3 ' 3=red
Dim searchList As Range
Dim anyEntry As Range
Dim findEntry As String

'get the surname entry
'remove leading/trailing whitespace
'and convert to UPPERCASE for tests
findEntry = UCase(Trim(Me.TextBox1))
If findEntry < "" Then
'we do have a last name to seek
'look in column B for it
Set searchList = ActiveSheet.Range("B1:" & _
ActiveSheet.Range("B" & Rows.Count).End(xlUp). _
Offset(1, 0).Address)
For Each anyEntry In searchList
If UCase(Trim(anyEntry)) = findEntry Then
'name matched, check formatting
If anyEntry.Font.ColorIndex < whatColor And _
anyEntry.Font.Strikethrough = False Then
anyEntry.Activate
Set searchList = Nothing
Exit Sub ' all finished
End If
End If
Next
'if we get here, no match on lastname
'was found, see if we have a first name
'to look for
findEntry = UCase(Trim(Me.TextBox1))
If findEntry < "" Then
'have a first name to look for
'look in column C for it
Set searchList = ActiveSheet.Range("C1:" & _
ActiveSheet.Range("C" & Rows.Count).End(xlUp). _
Offset(1, 0).Address)
For Each anyEntry In searchList
If UCase(Trim(anyEntry)) = findEntry Then
'name matched, check formatting
If anyEntry.Font.ColorIndex < whatColor And _
anyEntry.Font.Strikethrough = False Then
anyEntry.Activate
Set searchList = Nothing
Exit Sub ' all finished
End If
End If
Next
End If
Else
'did not have last name, do we have
'a first name to search for
findEntry = UCase(Trim(Me.TextBox2))
If findEntry < "" Then
'have a first name to look for
'look in column C for it
Set searchList = ActiveSheet.Range("C1:" & _
ActiveSheet.Range("C" & Rows.Count).End(xlUp). _
Offset(1, 0).Address)
For Each anyEntry In searchList
If UCase(Trim(anyEntry)) = findEntry Then
'name matched, check formatting
If anyEntry.Font.ColorIndex < whatColor And _
anyEntry.Font.Strikethrough = False Then
anyEntry.Activate
Set searchList = Nothing
Exit Sub ' all finished
End If
End If
Next
End If
End If


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9
Default Have the Find, desperately need the FindNext !!

On 17 June, 23:08, "Don Guillett" wrote:
Without looking at this, have you tried FINDNEXT. Look in the vba help index

--
Don Guillett
Microsoft MVP Excel
SalesAid Software
"Jeanette" wrote in message

...



All credit to JLatham for the code below - A BIG THANKYOU! *I now have
a UserForm with two text boxes, a "Search" Button and "Cancel"
Button. *It works perfectly for one occurrence, but can someone please
help me by adding what I need in order to find the NEXT occurence each
time the user clicks the "Search" button? (I am searching for the
contents of a cell within a range that is NOT red & strikethrough). *I
would soooooo appreciate the help! *Thanks in advance. *Here's the
code:


*Const whatColor = 3 ' 3=red
*Dim searchList As Range
*Dim anyEntry As Range
*Dim findEntry As String


*'get the surname entry
*'remove leading/trailing whitespace
*'and convert to UPPERCASE for tests
*findEntry = UCase(Trim(Me.TextBox1))
*If findEntry < "" Then
* *'we do have a last name to seek
* *'look in column B for it
* *Set searchList = ActiveSheet.Range("B1:" & _
* * ActiveSheet.Range("B" & Rows.Count).End(xlUp). _
* * Offset(1, 0).Address)
* *For Each anyEntry In searchList
* * *If UCase(Trim(anyEntry)) = findEntry Then
* * * *'name matched, check formatting
* * * *If anyEntry.Font.ColorIndex < whatColor And _
* * * * anyEntry.Font.Strikethrough = False Then
* * * * *anyEntry.Activate
* * * * *Set searchList = Nothing
* * * * *Exit Sub ' all finished
* * * *End If
* * *End If
* *Next
* *'if we get here, no match on lastname
* *'was found, see if we have a first name
* *'to look for
* *findEntry = UCase(Trim(Me.TextBox1))
* *If findEntry < "" Then
* * *'have a first name to look for
* * *'look in column C for it
* * *Set searchList = ActiveSheet.Range("C1:" & _
* * * ActiveSheet.Range("C" & Rows.Count).End(xlUp). _
* * * Offset(1, 0).Address)
* * *For Each anyEntry In searchList
* * * *If UCase(Trim(anyEntry)) = findEntry Then
* * * * *'name matched, check formatting
* * * * *If anyEntry.Font.ColorIndex < whatColor And _
* * * * * anyEntry.Font.Strikethrough = False Then
* * * * * *anyEntry.Activate
* * * * * *Set searchList = Nothing
* * * * * *Exit Sub ' all finished
* * * * *End If
* * * *End If
* * *Next
* *End If
*Else
* *'did not have last name, do we have
* *'a first name to search for
* *findEntry = UCase(Trim(Me.TextBox2))
* *If findEntry < "" Then
* * *'have a first name to look for
* * *'look in column C for it
* * *Set searchList = ActiveSheet.Range("C1:" & _
* * * ActiveSheet.Range("C" & Rows.Count).End(xlUp). _
* * * Offset(1, 0).Address)
* * *For Each anyEntry In searchList
* * * *If UCase(Trim(anyEntry)) = findEntry Then
* * * * *'name matched, check formatting
* * * * *If anyEntry.Font.ColorIndex < whatColor And _
* * * * * anyEntry.Font.Strikethrough = False Then
* * * * * *anyEntry.Activate
* * * * * *Set searchList = Nothing
* * * * * *Exit Sub ' all finished
* * * * *End If
* * * *End If
* * *Next
* *End If
*End If- Hide quoted text -


- Show quoted text -


Thanks Don, yes I have looked at FINDNEXT in the vba help, but I don't
know where or how to tie it into the code I have!!! Perhaps someone
can help?
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
find and findnext sunilpatel Excel Programming 1 November 13th 08 01:38 AM
Find and FindNext StumpedAgain Excel Programming 3 June 9th 08 06:58 PM
Desperately Seeking FirstCell Find ! Goofy Excel Programming 7 October 23rd 06 02:04 PM
Using 'Find' and 'FindNext' in vba SA3214 Excel Programming 3 March 25th 05 12:17 PM
Find...FindNext Problem mtsark Excel Programming 4 August 19th 04 04:09 PM


All times are GMT +1. The time now is 06:50 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"