Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 171
Default Find data in other worksheet

Oh, nutz <g! The problems of being adept in one programming language, and
then jumping into another. I have a nice little book called VB & VBA in a
nutshell. I need to find something on one worksheet based on a search
criterion from another.

Sooooo I go to the index -- seems reasonable thing to do. I look for FIND,
SEEK, LOCATE, LOOKUP, SEARCH. None of these words except SEEK appear in the
index, and SEEK isn't what I need. Phooey <g!!!

So haere's what I'm trying to do:

Worksheet A has columns A, B, and C respectively containing SSN, Last name,
First Name.

Worksheet B has column P containing Last name & ", " & First name in it.

Both worksheets have name data in all upper case.

I want to scroll through Column P of Worksheet B, grab a name, pop over to
worksheet A, find the lastname, firstsheet pair that matches, grab the SSN
from column A and take it back to Worksheet B and drop it into Column Q.

Worksheet A is sorted on First name & Last name.

Have I given enough info for someone to be able to give me a clue on how to
proceed?
--
Dave
Temping with Staffmark
in Rock Hill, SC
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Find data in other worksheet

Dave,

Put this formula in WorksheetB!Q2 and copy it down:

=INDEX(WorksheetA!A:C,MATCH(TRIM(LEFT(P2,FIND(",", P2)-1)),WorksheetA!
B:B,0),1)

Regards,

David Miller

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Find data in other worksheet

Dave the below code will work too:

Regards,

David Miller

***********************Begin Code***********************

Sub getSSN()
Dim WorksheetA, WorksheetB As Worksheet, _
FULL_NAME, CONCAT_NAME, _
C, R As Range


Set WorksheetA = Sheets("WorksheetA")
Set WorksheetB = Sheets("WorksheetB")

Set FULL_NAME = WorksheetB.Range("P1:P" & _

WorksheetB.Range("P65536").End(xlUp).Row)
Set CONCAT_NAME = WorksheetA.Range("B1:B" & _

WorksheetA.Range("B65536").End(xlUp).Row)

For Each C In FULL_NAME
For Each R In CONCAT_NAME
If R.Value & ", " & R.Offset(0, 1).Value = C.Value Then
C.Offset(0, 1).Value = R.Offset(0, -1).Value
End If
Next R
Next C

Set FULL_NAME = Nothing
Set CONCAT_NAME = Nothing
Set WorksheetA = Nothing
Set WorksheetB = Nothing
End Sub

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 171
Default Find data in other worksheet

Mindreader <g! I was just coming back to call on you and ask how to build it
into a macro, and there you were with my answer waiting. You be one kewl dude
<g!
--
Dave
Temping with Staffmark
in Rock Hill, SC


"Dave Miller" wrote:

Dave the below code will work too:

Regards,

David Miller

***********************Begin Code***********************

Sub getSSN()
Dim WorksheetA, WorksheetB As Worksheet, _
FULL_NAME, CONCAT_NAME, _
C, R As Range


Set WorksheetA = Sheets("WorksheetA")
Set WorksheetB = Sheets("WorksheetB")

Set FULL_NAME = WorksheetB.Range("P1:P" & _

WorksheetB.Range("P65536").End(xlUp).Row)
Set CONCAT_NAME = WorksheetA.Range("B1:B" & _

WorksheetA.Range("B65536").End(xlUp).Row)

For Each C In FULL_NAME
For Each R In CONCAT_NAME
If R.Value & ", " & R.Offset(0, 1).Value = C.Value Then
C.Offset(0, 1).Value = R.Offset(0, -1).Value
End If
Next R
Next C

Set FULL_NAME = Nothing
Set CONCAT_NAME = Nothing
Set WorksheetA = Nothing
Set WorksheetB = Nothing
End Sub


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 171
Default Find data in other worksheet

Slicker 'n a pig in poop! On the 8500 lines of WorksheetB, it took 24 minutes
to run -- and saved about 3 days (at least) of the most horrendous type of
data entry -- Manual -- !<G
--
Dave
Temping with Staffmark
in Rock Hill, SC


"Dave Miller" wrote:

Dave the below code will work too:

Regards,

David Miller

***********************Begin Code***********************

Sub getSSN()
Dim WorksheetA, WorksheetB As Worksheet, _
FULL_NAME, CONCAT_NAME, _
C, R As Range


Set WorksheetA = Sheets("WorksheetA")
Set WorksheetB = Sheets("WorksheetB")

Set FULL_NAME = WorksheetB.Range("P1:P" & _

WorksheetB.Range("P65536").End(xlUp).Row)
Set CONCAT_NAME = WorksheetA.Range("B1:B" & _

WorksheetA.Range("B65536").End(xlUp).Row)

For Each C In FULL_NAME
For Each R In CONCAT_NAME
If R.Value & ", " & R.Offset(0, 1).Value = C.Value Then
C.Offset(0, 1).Value = R.Offset(0, -1).Value
End If
Next R
Next C

Set FULL_NAME = Nothing
Set CONCAT_NAME = Nothing
Set WorksheetA = Nothing
Set WorksheetB = Nothing
End Sub




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Find data in other worksheet

Glad I could help, I am sure it could be done faster using FIND,
instead of looping through each cell, but Hell it was free right,
hehe.

Dave

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 171
Default Find data in other worksheet

Riiiiiiiiight <g!
--
Dave
Temping with Staffmark
in Rock Hill, SC


"Dave Miller" wrote:

Glad I could help, I am sure it could be done faster using FIND,
instead of looping through each cell, but Hell it was free right,
hehe.

Dave


  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 171
Default Find data in other worksheet

Actually, because the "searched into" WS was about 7500 rows, with a high
level of duplication in the columns we were interested in, I did a merge to
squoosh out the dupes, and condensed it to 1300 or so rows. Running against
that the process time dropped from 24 minutes to a little over 4! Just as
well as I had to run the macro again against another WS with 15,000+ rows!

If you have a moment, could you take a look at an item I posted yesterday
(and replied to myself 3 times)? It is called "Consolidate Rows" and hasn't
had any takers yet.

Actually I have managed to consolidate the rows with MERGE, but the part I
am trying to learn is the reference to a numeric variable in VBA.
--
Dave
Temping with Staffmark
in Rock Hill, SC


"Dave Miller" wrote:

Glad I could help, I am sure it could be done faster using FIND,
instead of looping through each cell, but Hell it was free right,
hehe.

Dave


  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 171
Default Find data in other worksheet

I said it didn't "solve" the probelm -- however it gave me sufficient
information that I can hack into it and get where I need to go. Thanks a
million for your help!
--
Dave
Temping with Staffmark
in Rock Hill, SC


"Dave Miller" wrote:

Dave,

Put this formula in WorksheetB!Q2 and copy it down:

=INDEX(WorksheetA!A:C,MATCH(TRIM(LEFT(P2,FIND(",", P2)-1)),WorksheetA!
B:B,0),1)

Regards,

David Miller


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
How to Find Data in another Worksheet without activating it? HumanJHawkins Excel Worksheet Functions 2 July 31st 09 11:35 AM
Find a worksheet and extract data Deborah Excel Worksheet Functions 1 January 10th 07 03:09 PM
find hidden data in worksheet catlover1946 Excel Worksheet Functions 19 July 20th 06 03:33 AM
find hidden data in worksheet catlover1946 Excel Worksheet Functions 0 July 7th 06 03:50 AM
Find a value a post data to another worksheet Les Stout Excel Programming 1 October 31st 03 02:58 PM


All times are GMT +1. The time now is 08:36 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"