ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   **Link 2 sheets based on particular field** (https://www.excelbanter.com/excel-programming/359360-%2A%2Alink-2-sheets-based-particular-field%2A%2A.html)

R-M[_2_]

**Link 2 sheets based on particular field**
 
Hi

I'm working with Ms Office 2000 and I have problem in MsExcel,
I have my information in 2 sheets like below:

sheet1: sheet2:
_______________ __________________

code rate code qty
_____ ______ ______ __________


My desired result is to have multiplied (rate*qty) for each code in 3rd
sheet of my file.
how is it possible? in other words, can I use some concepts of select
statement like in SQL 2000 enviroment?
or is there another solution?

Any help would be thanked.

AA2e72E

**Link 2 sheets based on particular field**
 
Try:

Sub aa()
Cnn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\relational.xls;Extended
Properties=Excel 8.0;"
Sql="'SELECT a.Code,a.Qty,b.Rate, (a.Qty * b.Rate) as Cost FROM [Sheet1$] a,
[Sheet2$] b WHERE a.Code = b.Code;"
Set ADORS = CreateObject("ADODB.RecordSet")
ADORS.Open Sql, Cnn
' .. lookup CopyFromRecordSet in the help file if you want to add results to
another Sheet
End Sub

NOTE: Replace c:\relational.xls by your workbook; you can use
activeworkbook.fullname (you will have to concatenate the cnn string
accordingly)

"R-M" wrote:

Hi

I'm working with Ms Office 2000 and I have problem in MsExcel,
I have my information in 2 sheets like below:

sheet1: sheet2:
_______________ __________________

code rate code qty
_____ ______ ______ __________


My desired result is to have multiplied (rate*qty) for each code in 3rd
sheet of my file.
how is it possible? in other words, can I use some concepts of select
statement like in SQL 2000 enviroment?
or is there another solution?

Any help would be thanked.


AA2e72E

**Link 2 sheets based on particular field**
 
.... oops!, you need to include these line before End Sub

ADORS.Close
Set ADORS = Nothing

"R-M" wrote:

Hi

I'm working with Ms Office 2000 and I have problem in MsExcel,
I have my information in 2 sheets like below:

sheet1: sheet2:
_______________ __________________

code rate code qty
_____ ______ ______ __________


My desired result is to have multiplied (rate*qty) for each code in 3rd
sheet of my file.
how is it possible? in other words, can I use some concepts of select
statement like in SQL 2000 enviroment?
or is there another solution?

Any help would be thanked.


R-M[_2_]

**Link 2 sheets based on particular field**
 
Thanks, But it seems I need to write this code in VB enviroment! what can
I do to solve my problem just in Excel enviroment without helping of
others?

On Thu, 20 Apr 2006 03:11:02 -0700, AA2e72E
wrote:

Try:

Sub aa()
Cnn="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\relational.xls;Extended
Properties=Excel 8.0;"
Sql="'SELECT a.Code,a.Qty,b.Rate, (a.Qty * b.Rate) as Cost FROM
[Sheet1$] a,
[Sheet2$] b WHERE a.Code = b.Code;"
Set ADORS = CreateObject("ADODB.RecordSet")
ADORS.Open Sql, Cnn
' .. lookup CopyFromRecordSet in the help file if you want to add
results to
another Sheet
End Sub

NOTE: Replace c:\relational.xls by your workbook; you can use
activeworkbook.fullname (you will have to concatenate the cnn string
accordingly)

"R-M" wrote:

Hi

I'm working with Ms Office 2000 and I have problem in MsExcel,
I have my information in 2 sheets like below:

sheet1: sheet2:
_______________ __________________

code rate code qty
_____ ______ ______ __________


My desired result is to have multiplied (rate*qty) for each code in 3rd
sheet of my file.
how is it possible? in other words, can I use some concepts of select
statement like in SQL 2000 enviroment?
or is there another solution?

Any help would be thanked.




--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/

AA2e72E

**Link 2 sheets based on particular field**
 
The code (macro) will work in Excel.

"R-M" wrote:

Thanks, But it seems I need to write this code in VB enviroment! what can
I do to solve my problem just in Excel enviroment without helping of
others?

On Thu, 20 Apr 2006 03:11:02 -0700, AA2e72E
wrote:

Try:

Sub aa()
Cnn="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\relational.xls;Extended
Properties=Excel 8.0;"
Sql="'SELECT a.Code,a.Qty,b.Rate, (a.Qty * b.Rate) as Cost FROM
[Sheet1$] a,
[Sheet2$] b WHERE a.Code = b.Code;"
Set ADORS = CreateObject("ADODB.RecordSet")
ADORS.Open Sql, Cnn
' .. lookup CopyFromRecordSet in the help file if you want to add
results to
another Sheet
End Sub

NOTE: Replace c:\relational.xls by your workbook; you can use
activeworkbook.fullname (you will have to concatenate the cnn string
accordingly)

"R-M" wrote:

Hi

I'm working with Ms Office 2000 and I have problem in MsExcel,
I have my information in 2 sheets like below:

sheet1: sheet2:
_______________ __________________

code rate code qty
_____ ______ ______ __________


My desired result is to have multiplied (rate*qty) for each code in 3rd
sheet of my file.
how is it possible? in other words, can I use some concepts of select
statement like in SQL 2000 enviroment?
or is there another solution?

Any help would be thanked.




--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/


broro183[_77_]

**Link 2 sheets based on particular field**
 

Hi,
This problem can be solved without the use of any code as the inbuilt
VLookup or a combination of the Index & Match functions of Excel will
do the job & may be quicker than the code solution already offered.

Assuming your codes are listed in column A of all the sheets & the
other variable is in column B on each of the sheets, enter the
following into column B of the 3rd sheet and copy it down:
(Adjust the lookup ranges to match the amount of data in the sheets.)

=VLOOKUP(Sheet3!A2,Sheet1!$A$1:$B$2,2,FALSE)*VLOOK UP(Sheet3!A2,Sheet2!$A$1:$B$2,2,FALSE)

Or

=INDEX(Sheet1!$A$1:$B$2,MATCH(Sheet3!A2,Sheet1!$A$ 1:$A$2,0),2)*INDEX(Sheet2!$A$1:$B$2,MATCH(Sheet3!A 2,Sheet2!$A$1:$A$2,0),2)

Once the results have been found I'd copy & paste as values to speed up
your workbook & minimise the file size. I usually keep a copy of the
formula in a comment on the header row in case it is needed again when
values ie the rate or the quantity change.

hth
Rob Brockett
NZ
Always learning & the best way to learn is to experience...


--
broro183
------------------------------------------------------------------------
broro183's Profile: http://www.excelforum.com/member.php...o&userid=30068
View this thread: http://www.excelforum.com/showthread...hreadid=534484



All times are GMT +1. The time now is 01:14 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com