Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default use find twice to find cell on a specific row

We have a worksheet that contains a column of unique Identification
numbers and several different types of tests. The following example
shows the layout:

A B C D E F
G
1 LabID Test1 Test2 Test3 Test4 Test5 Test6
2 5123 Cd As Ag Cu Hg Zn
3 5124 Cr B Ba As Cd Ni
4 5125 Ni Pb Cu Cr Ag Be
5 5126 Pb Ag B Ba Be Cu

How would I find the cell that contains Ag for LabID 525?


Something like Find LabID = 5125 then look ONLY in that row to see if
one of the cells in that specific row contains the text Ag.

I do not want to find Ag in any row but the row that has the labid
5125. In this case - Ag is on the same row as the labid.

The problem is: if Ag is not on that the same row as the specified
LabId I do not need to find Ag on a following row. If Ag were not on
the row of LabID 5125 I would need to have
foundcell = nothing as the result.

2nd possibility:
Look at LabID 5124 - the row does not contain Ag. I need to be able to
say:
find 5124 then look in this row to see if one of the cells in this row
contains the text Ag. The result I need is foundcell is nothing.


I have tried using find twice in a row. First find the LabId then Find
the test. The problem is that if the particular test I am looking for
is not on the same row as the LabID in the first Find statement, the
test does appear several rows later. The test must be required on the
specific LabID.


Any help would be appreciated



------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~ View and post usenet messages directly from http://www.ExcelForum.com/

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 340
Default use find twice to find cell on a specific row

You can do it with code like the following:

Dim cell As Range
Set cell = Columns(2).Find(What:="5125", LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
Set cell = cell.EntireRow.Find(What:="ag", _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
cell.Select

Bob Flanagan
Macro Systems
http://www.add-ins.com
Productivity add-ins and downloadable books on VB macros for Excel

"captbluefin" wrote in message
...
We have a worksheet that contains a column of unique Identification
numbers and several different types of tests. The following example
shows the layout:

A B C D E F
G
1 LabID Test1 Test2 Test3 Test4 Test5 Test6
2 5123 Cd As Ag Cu Hg Zn
3 5124 Cr B Ba As Cd Ni
4 5125 Ni Pb Cu Cr Ag Be
5 5126 Pb Ag B Ba Be Cu

How would I find the cell that contains Ag for LabID 525?


Something like Find LabID = 5125 then look ONLY in that row to see if
one of the cells in that specific row contains the text Ag.

I do not want to find Ag in any row but the row that has the labid
5125. In this case - Ag is on the same row as the labid.

The problem is: if Ag is not on that the same row as the specified
LabId I do not need to find Ag on a following row. If Ag were not on
the row of LabID 5125 I would need to have
foundcell = nothing as the result.

2nd possibility:
Look at LabID 5124 - the row does not contain Ag. I need to be able to
say:
find 5124 then look in this row to see if one of the cells in this row
contains the text Ag. The result I need is foundcell is nothing.


I have tried using find twice in a row. First find the LabId then Find
the test. The problem is that if the particular test I am looking for
is not on the same row as the LabID in the first Find statement, the
test does appear several rows later. The test must be required on the
specific LabID.


Any help would be appreciated



------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~ View and post usenet messages directly from http://www.ExcelForum.com/



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 21
Default use find twice to find cell on a specific row

Hi 'captn

Sometning like this may get you going. Where the table is set up in B2:H5,
change to suit of course. (Headers in row 1) Cell K1 is where you enter
the LabID number and K2 is where you enter the element symbol you are
searching for.

Sub SilverSeeker()
Dim bList As Range
Dim rngFind As Range
Dim LabId As Variant
Dim Elem As String
Dim rRow As Range
LabId = Range("K1").Value

If LabId = "" Then Exit Sub
LabId = Range("K1").Value
Elem = Range("K2").Value
Set bList = Range("B2:B5")
On Error Resume Next
bList.Select
Set rngFind = Selection.Find(what:=LabId)

If Not rngFind Is Nothing Then
Selection.Find(what:=LabId).Activate
Set rRow = ActiveCell.Offset(0, 1).Resize(1, 6)
rRow.Find(what:=Elem).Activate
If ActiveCell.Value = Elem Then
MsgBox Elem & " found in " & _
ActiveCell.Address, , "Found It"
Range("K1").Select
Exit Sub
ElseIf ActiveCell.Value < Elem Then
MsgBox " No " & Elem & " in row " & _
ActiveCell.Row, , "Didn't Find it"
Range("K1").Select
End If
End If
End Sub

HTH
Regards,
Howard

"captbluefin" wrote in message
...
We have a worksheet that contains a column of unique Identification
numbers and several different types of tests. The following example
shows the layout:

A B C D E F
G
1 LabID Test1 Test2 Test3 Test4 Test5 Test6
2 5123 Cd As Ag Cu Hg Zn
3 5124 Cr B Ba As Cd Ni
4 5125 Ni Pb Cu Cr Ag Be
5 5126 Pb Ag B Ba Be Cu

How would I find the cell that contains Ag for LabID 525?


Something like Find LabID = 5125 then look ONLY in that row to see if
one of the cells in that specific row contains the text Ag.

I do not want to find Ag in any row but the row that has the labid
5125. In this case - Ag is on the same row as the labid.

The problem is: if Ag is not on that the same row as the specified
LabId I do not need to find Ag on a following row. If Ag were not on
the row of LabID 5125 I would need to have
foundcell = nothing as the result.

2nd possibility:
Look at LabID 5124 - the row does not contain Ag. I need to be able to
say:
find 5124 then look in this row to see if one of the cells in this row
contains the text Ag. The result I need is foundcell is nothing.


I have tried using find twice in a row. First find the LabId then Find
the test. The problem is that if the particular test I am looking for
is not on the same row as the LabID in the first Find statement, the
test does appear several rows later. The test must be required on the
specific LabID.


Any help would be appreciated



------------------------------------------------
~~ Message posted from http://www.ExcelTip.com/
~~ View and post usenet messages directly from http://www.ExcelForum.com/



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 a specific formatted string in a cell KCK Excel Worksheet Functions 1 April 16th 08 09:16 PM
Find the bottom cell that contains a specific val in a range? amit Excel Worksheet Functions 2 January 24th 07 05:23 PM
find a specific cell from the entire worksheet CINDY Excel Worksheet Functions 1 November 15th 06 05:55 AM
How do I find a cell starting with a specific letter? Bking Excel Discussion (Misc queries) 5 July 18th 05 05:14 AM
How do I find a mode while disregarding a specific cell value? glasskit Excel Worksheet Functions 1 January 25th 05 07:47 PM


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

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

About Us

"It's about Microsoft Excel"