Thread: Sort data
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default Sort data

Try this code

Sub combinesheets()

Set Sumsht = Sheets.Add(after:=Sheets(Sheets.Count))
Sumsht.Name = "Summary"


'Copy sheet 1 to Summary sheet
Sheets("Sheet1").Cells.Copy _
Destination:=Sumsht.Cells
'Get Last Row of data
LastRow = Sumsht.Range("B" & Rows.Count).End(xlUp).Row
NewRow = LastRow + 1


DestCol = 8 'col H
'add sheets 2 and 3 to summary sheet
For ShtNum = 2 To 3
RowCount = 2
Set Sht = Sheets("Sheet" & ShtNum)
Do While Sht.Range("B" & RowCount) < ""
ID = Sht.Range("B" & RowCount)
'Check if ID Number exist in Summary
Set c = Sumsht.Columns("B").Find(what:=ID, _
LookIn:=xlValues, lookat:=xlWhole)
If c Is Nothing Then
Sht.Range("A" & RowCount & ":E" & RowCount).Copy _
Sumsht.Range("A" & NewRow)
Sht.Range("F" & RowCount & ":G" & RowCount).Copy _
Sumsht.Cells(NewRow, DestCol)
NewRow = NewRow + 1
Else
Sht.Range("F" & RowCount & ":G" & RowCount).Copy _
Sumsht.Cells(c.Row, DestCol)
End If
RowCount = RowCount + 1
Loop
DestCol = DestCol + 2
Next ShtNum
End Sub


"Jessie" wrote:

Hi,

I have a set of data in 3 spreadsheets and needs to be combined into 1. Each
spreadsheet, col B-E is staff details (emp no, name..etc). Data contains in
column F onwards are different.

ie:
Sheet 1 : heading of Col F = Training A, Col G = Training B
Sheet 2 : heading of Col F = Training C, Col G = Training D
Sheet 3 : heading of Col F = Training E, Col G = Training F

Now, How do I combine all the Training A - F to same row in a sheet?


Appreciate if someone could give me a shortcut/formula to do it...

Thanks a zil..
Jessie