Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default Read, Find, Copy and Sum Macro

Hi All

I don't know if this is do-able in excel, but if it is, please give me
some assistance on the matter.

I want to read information/instructions from "Sheet1", then find
information in "Sheet2" that correspond to the read information, then
copy the information that was found in "Sheet2" to "Sheet3" and add it
all together and display the sum in a particular cell in "Sheet4".

Does that sound complicated enough? Here are the details:

"Column A" and "Column B" of "Sheet1" are the starting points. The
macro must read the values in "Sheet1" "Column A" and "Column B" and
remember them. Then it must find the row in "Sheet2" "Column A" where
the information from "Sheet1" "Column A" matches and where the
information from "Sheet1" "Column B" matches with the information from
"Sheet2" "Column E".

Once that row has been found, the macro must copy the information from
"Sheet2" "Column P" and the matching row; to cell "A1" in "Sheet3". It
must then continue the search of "Sheet2" for more rows where the
information match, if another row is found the information in "Sheet2"
"Column P" and the matching row must be copied to cell "A2" in "Sheet3"
and so on and so on until all of "Sheet2" has been searched.

All the values in "Sheet3" "Column A" must then be added together and
the total for the values obtained must be written to a cell or cells
defined in "Sheet1". The location where the totals must be written to
in "Sheet4" can be found in "Sheet1" "Column D" and "Column E".

I have included extracts from "Sheet1" and "Sheet2" in CSV format
below. If anybody wants to try and give me a hand with this problem,
please copy the extracts and you should see some of the details of the
sheets.

Any help on this issue will be greatly appreciated.

Thanks,

Dan

==================Sheet1========================== ===========
,,CAA,,,,,
Organizational Area,Item,VOTE NUMBER,Copy To1,Copy To2,Column,No.,No.
21000,23001206,2100023001206,J332,J331,J,332,331
21000,23002206,2100023002206,J340,J339,J,340,339
30400,14001205,3040014001205,J280,J279,J,280,279
30400,14002204,3040014002204,J280,J279,J,280,279
30400,14003204,3040014003204,J281,J280,J,281,280
30400,14003206,3040014003206,J280,J279,J,280,279
30400,14005206,3040014005206,K280,K279,K,280,279
================================================== ===========

=================Sheet2=========================== ============
10000,Column B Info,Column C Info,Column D Info,1005000,Column F
Info,78133.75,0,0,0,0,0,0,0,0,78133.75,0,0,99600,9 9600,0,78133.75,0,0,0,0,1E+12,12,0,PE,Y,1,1,10,1
21000,Column B Info,Column C Info,Column D Info,23002206,Column F
Info,287088,23924,0,0,0,0,0,0,0,287088,23924,0,287 740,287740,0,287088,23924,0,0,0,1E+12,12,0,PE,Y,1, 1,10,1
21000,Column B Info,Column C Info,Column D Info,23001206,Column F
Info,136926.99,12158.42,0,0,0,0,0,0,0,136926.99,12 158.42,0,146250,146250,0,136926.99,12158.42,0,0,0, 1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14001205,Column F
Info,1306004.7,113984.2,0,0,0,0,0,0,0,1306004.7,11 3984.2,0,1371060,1371060,0,1306004.7,113984.2,0,0, 0,1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14001205,Column F
Info,4237181.49,370829.37,0,0,0,0,0,0,0,4237181.49 ,370829.37,0,4168075,4168075,0,4237181.49,370829.3 7,0,0,0,1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14001205,Column F
Info,8780,0,0,0,0,0,0,0,0,8780,0,0,0,0,0,8780,0,0, 0,0,1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14003206,Column F
Info,2225.73,0,0,0,0,0,0,0,0,2225.73,0,0,0,0,0,222 5.73,0,0,0,0,1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14005206,Column F
Info,200293.84,16017.63,0,0,0,0,0,0,0,200293.84,16 017.63,0,839730,839730,0,200293.84,16017.63,0,0,0, 1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14008206,Column F
Info,792952.34,74487.12,0,0,0,0,0,0,0,792952.34,74 487.12,0,845425,845425,0,792952.34,74487.12,0,0,0, 1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14009206,Column F
Info,20775.29,1067.71,0,0,0,0,0,0,0,20775.29,1067. 71,0,46240,46240,0,20775.29,1067.71,0,0,0,1E+12,12 ,0,PE,Y,1,1,10,1
================================================== ================================================== ==========

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Read, Find, Copy and Sum Macro

On Sheet2, insert a new row 1, and put in entries like

Header1 header2 header3

so the data you show starts in row 2. then you can run this code.

I didn't see any reason to copy the blank value in column P - just copied
the value in the matching row. If it actually needs to be copied and summed
in, then the code could be altered.

Sub ABC()
Dim rng1 As Range, rng2 As Range
Dim rng2a As Range, rng2b As Range
Dim sh3 As Worksheet, sh4 As Worksheet
Dim sh2 As Worksheet, cell As Range
Dim cell2 As Range, i As Long
Dim dest1 As Range, dest2 As Range
With Worksheets("Sheet1")
Set rng1 = .Range(.Cells(3, 1), _
.Cells(Rows.Count, 1).End(xlUp))
End With
Set sh2 = Worksheets("Sheet2")
With sh2
Set rng2 = .Range("A1").CurrentRegion
Set rng2a = Intersect(rng2, .Columns("P:P"))
Set rng2a = rng2a.Offset(1, 0) _
.Resize(rng2a.Rows.Count - 1, 1)
End With
Set sh3 = Worksheets("Sheet3")
Set sh4 = Worksheets("Sheet4")
For Each cell In rng1
Set dest1 = sh4.Range(cell.Offset(0, 3).Value)
Set dest2 = sh4.Range(cell.Offset(0, 4).Value)
rng2.AutoFilter Field:=1, Criteria1:=cell.Value
rng2.AutoFilter Field:=5, Criteria1:=cell.Offset(0, 1).Value
Set rng2b = Nothing
On Error Resume Next
Set rng2b = rng2a.SpecialCells(xlVisible)
On Error GoTo 0
If Not rng2b Is Nothing Then
sh2.AutoFilterMode = False
sh3.Columns(1).ClearContents
i = 1
For Each cell2 In rng2b
sh3.Cells(i, 1) = cell2.Offset(1, 0)
i = i + 1
Next
dest1.Value = dest1.Value + Application.Sum(sh3.Columns(1))
dest2.Value = dest2.Value + Application.Sum(sh3.Columns(1))
End If

Next
End Sub

--
Regards,
Tom Ogilvy

wrote in message
oups.com...
Hi All

I don't know if this is do-able in excel, but if it is, please give me
some assistance on the matter.

I want to read information/instructions from "Sheet1", then find
information in "Sheet2" that correspond to the read information, then
copy the information that was found in "Sheet2" to "Sheet3" and add it
all together and display the sum in a particular cell in "Sheet4".

Does that sound complicated enough? Here are the details:

"Column A" and "Column B" of "Sheet1" are the starting points. The
macro must read the values in "Sheet1" "Column A" and "Column B" and
remember them. Then it must find the row in "Sheet2" "Column A" where
the information from "Sheet1" "Column A" matches and where the
information from "Sheet1" "Column B" matches with the information from
"Sheet2" "Column E".

Once that row has been found, the macro must copy the information from
"Sheet2" "Column P" and the matching row; to cell "A1" in "Sheet3". It
must then continue the search of "Sheet2" for more rows where the
information match, if another row is found the information in "Sheet2"
"Column P" and the matching row must be copied to cell "A2" in "Sheet3"
and so on and so on until all of "Sheet2" has been searched.

All the values in "Sheet3" "Column A" must then be added together and
the total for the values obtained must be written to a cell or cells
defined in "Sheet1". The location where the totals must be written to
in "Sheet4" can be found in "Sheet1" "Column D" and "Column E".

I have included extracts from "Sheet1" and "Sheet2" in CSV format
below. If anybody wants to try and give me a hand with this problem,
please copy the extracts and you should see some of the details of the
sheets.

Any help on this issue will be greatly appreciated.

Thanks,

Dan

==================Sheet1========================== ===========
,,CAA,,,,,
Organizational Area,Item,VOTE NUMBER,Copy To1,Copy To2,Column,No.,No.
21000,23001206,2100023001206,J332,J331,J,332,331
21000,23002206,2100023002206,J340,J339,J,340,339
30400,14001205,3040014001205,J280,J279,J,280,279
30400,14002204,3040014002204,J280,J279,J,280,279
30400,14003204,3040014003204,J281,J280,J,281,280
30400,14003206,3040014003206,J280,J279,J,280,279
30400,14005206,3040014005206,K280,K279,K,280,279
================================================== ===========

=================Sheet2=========================== ============
10000,Column B Info,Column C Info,Column D Info,1005000,Column F
Info,78133.75,0,0,0,0,0,0,0,0,78133.75,0,0,99600,9 9600,0,78133.75,0,0,0,0,1E+12,12,0,PE,Y,1,1,10,1
21000,Column B Info,Column C Info,Column D Info,23002206,Column F
Info,287088,23924,0,0,0,0,0,0,0,287088,23924,0,287 740,287740,0,287088,23924,0,0,0,1E+12,12,0,PE,Y,1, 1,10,1
21000,Column B Info,Column C Info,Column D Info,23001206,Column F
Info,136926.99,12158.42,0,0,0,0,0,0,0,136926.99,12 158.42,0,146250,146250,0,136926.99,12158.42,0,0,0, 1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14001205,Column F
Info,1306004.7,113984.2,0,0,0,0,0,0,0,1306004.7,11 3984.2,0,1371060,1371060,0,1306004.7,113984.2,0,0, 0,1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14001205,Column F
Info,4237181.49,370829.37,0,0,0,0,0,0,0,4237181.49 ,370829.37,0,4168075,4168075,0,4237181.49,370829.3 7,0,0,0,1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14001205,Column F
Info,8780,0,0,0,0,0,0,0,0,8780,0,0,0,0,0,8780,0,0, 0,0,1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14003206,Column F
Info,2225.73,0,0,0,0,0,0,0,0,2225.73,0,0,0,0,0,222 5.73,0,0,0,0,1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14005206,Column F
Info,200293.84,16017.63,0,0,0,0,0,0,0,200293.84,16 017.63,0,839730,839730,0,200293.84,16017.63,0,0,0, 1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14008206,Column F
Info,792952.34,74487.12,0,0,0,0,0,0,0,792952.34,74 487.12,0,845425,845425,0,792952.34,74487.12,0,0,0, 1E+12,12,0,PE,Y,1,1,10,1
30400,Column B Info,Column C Info,Column D Info,14009206,Column F
Info,20775.29,1067.71,0,0,0,0,0,0,0,20775.29,1067. 71,0,46240,46240,0,20775.29,1067.71,0,0,0,1E+12,12 ,0,PE,Y,1,1,10,1
================================================== ================================================== ==========



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
Please help - Find & copy Macro Damil4real Excel Worksheet Functions 1 May 7th 09 02:30 PM
Find and Copy down macro Barry McConnell Excel Discussion (Misc queries) 4 July 1st 08 08:00 AM
Cant find Macro in read only Steekvey Excel Discussion (Misc queries) 0 November 8th 06 02:52 PM
Find and copy in macro Tom Ogilvy Excel Programming 1 February 19th 04 10:46 PM
Help with find then copy macro john_t_h[_4_] Excel Programming 5 January 13th 04 11:48 PM


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