excel macro to extract data from one worksheet to many spreadsheets

F

fudgie73

Hi all

is there a macro i can write for the following:


I have one worksheet with extracted data, lets say as an example
columns a-g are populated with data, however each of the rows contains
mulitple data lines for each record for different dates.


The columns could contain, name, job title, course start, course
finish, course title, cost centre, cost (£).


I would like to extract the data from the one worksheet to many
spreadsheets, but would like it to sort the data in the following way
(as an example):


Course Title Total cost cost centre


i would like to have one line for each of the course titles (rather
than multiple lines) sorted by cost centre and the macro should be able

to take all the mulitple data and translate it into one line for each.


I appreciate any help
 
G

Gabor

It looks as just a perfect case for a pivot table.

Doing this with a macro can certainly be done, but is some work.
For the example you described the one below may be made to work with
adjustments.
Assume ColA has CourseTitle, ColB has CourseCost and ColC has
CostCenter data:

Sub PickData()
'Sheets("Base") is the sheet you have all the data
'Sheets("Selection1") is the sheet you want to copy stuff over
Sheets("Base").Select
Range("A1").Select

Do Until ActiveCell.Offset(1, 0) = Empty
ActiveCell.Offset(1, 0).Select
CTitle = ActiveCell
CCost = ActiveCell.Offset(0, 1)
CostCtr = ActiveCell.Offset(0, 2)

Sheets("Selection1").Select
Range("A1").Select

Do Until ActiveCell = Empty
ActiveCell.Offset(1, 0).Select
If ActiveCell = CTitle Then
ActiveCell.Offset(0, 1) = ActiveCell.Offset(0, 1) + CCost
ActiveCell.Offset(0, 2) = ActiveCell.Offset(0, 2) & " , " &
CostCtr
Range("A1").Select
Sheets("Base").Select
GoTo 44
ElseIf ActiveCell = Empty Then
ActiveCell.FormulaR1C1 = CTitle
ActiveCell.Offset(0, 1).FormulaR1C1 = CCost
ActiveCell.Offset(0, 2).FormulaR1C1 = CostCtr
Range("A1").Select
Sheets("Base").Select
GoTo 44
End If
Loop

44 Loop

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top