Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 184
Default Transpose & reorg data from 2 WS to new WB

Transpose & reorg data from sheets "Force" and "Hours" to new workbook
sheet1
I need to adapt this skeleton code
....
Enter data Source WB path
Enter data Source WB Name
Enter data Destin. WB path
Enter data Destin. WB Name
' Same data map, in rows & cols, for "Force" & "Hours sheets
DateRange = A1: to Last Col.
Actvity Range = A1: to Last Row
DataRange = A1 : to Last Row - Last Col.
For C = 2 to MaxCol(DateRange)
For R = 2 to Max(DataRange)
' Write new WB Sheet1
Date = Date(Col(C), Row(1))
Activity = Value(Col(C1),Row(R))
' From "Force" sheet
Force = Value(Col(C),Row(R))
' From "Hours" sheet
Hours = Value(Col(C),Row(R))
Next
Next
.....
Data Source : Sheet1 "Force"
A B C D E
1. Activity Oct1 Oct2 Oct 3 Oct4
2. X 4 13 1
3. Y 6 7 9
......
Data Source : Sheet1 "Hours"
A B C D E
1. Activity Oct1 Oct2 Oct 3 Oct4
2. X 32 104 10
3. Y 72 56 72
.......
Expected result : New Workbook "Alpha" Sheet1
A B C D
1. Date Activity Force Hours
2. Oct1 X 4 32
3. Oct2 X 13 104
4. Oct4 X 1 10
5. Oct2 Y 6 72
6. Oct3 Y 7 56
7. Oct4 Y 79 72
......
Help appreciated,
J.P.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 703
Default Transpose & reorg data from 2 WS to new WB

Hi

As I understand it you want to create new workbook, where the data is
transposed to:

Sub ReorgData()
Dim SourceWBa As Workbook
Dim SourceSHa As Worksheet
Dim SourceWBb As Workbook
Dim SourceSHb As Worksheet
Dim DestCell As Range
Dim DestWB As Workbook
Dim DestSh As Worksheet
Dim FileToOpen As Variant
Dim LastCol As Long
Dim LastRow As Long
Dim MyPath As String

Application.ScreenUpdating = False
FileToOpen = Application.GetOpenFilename _
(filefilter:="Excel Files (*.xls),*.xls", Title:="Open Force
workbook")
If FileToOpen = False Then Exit Sub 'No workbook selected
Set SourceWBa = Workbooks.Open(FileToOpen)
FileToOpen = Application.GetOpenFilename _
(filefilter:="Excel Files (*.xls),*.xls", Title:="Open Hours
workbook")
If FileToOpen = False Then Exit Sub 'No workbook selected
Set SourceWBb = Workbooks.Open(FileToOpen)

Set DestWB = Workbooks.Add
Set SourceSHa = SourceWBa.Worksheets("Sheet1")
Set SourceSHb = SourceWBb.Worksheets("Sheet1")
Set DestSh = DestWB.Worksheets("Sheet1")
Set DestCell = DestSh.Range("A1")
LastRow = SourceSHa.Cells(Rows.Count, 1).End(xlUp).Row
LastCol = SourceSHa.Cells(1, Columns.Count).End(xlToLeft).Column
MyPath = SourceWBa.Path
ChDir MyPath 'By default save to source path
SaveFileName = Application.GetSaveAsFilename(InitialFilename:="Al pha",
_
filefilter:="Excel Files (*.xls), *.xls", Title:="Enter Alpha
workbook name")

DestCell = "Date"
DestCell.Offset(0, 1) = "Activity"
DestCell.Offset(0, 2) = "Force"
DestCell.Offset(0, 3) = "Hours"
Set DestCell = DestCell.Offset(1, 0)
For c = 2 To LastCol
For r = 2 To LastRow
' Write new WB Sheet1
If SourceSHa.Cells(r, c) < "" Then
DestCell = SourceSHa.Cells(1, c)
DestCell.Offset(0, 1) = SourceSHa.Cells(r, 1)
' From "Force" sheet
DestCell.Offset(0, 2) = SourceSHa.Cells(r, c)
' From "Hours" sheet
DestCell.Offset(0, 3) = SourceSHb.Cells(r, c)
Set DestCell = DestCell.Offset(1, 0)
End If
Next
Next
DestSh.Range("A1").CurrentRegion.Sort Key1:=Range("B2"),
Order1:=xlAscending, _
Key2:=Range("A2"), Order2:=xlAscending, Header:=xlYes,
OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
SourceWBa.Close
SourceWBb.Close
DestWB.SaveAs Filename:=SaveFileName
Application.ScreenUpdating = True
End Sub


Regards,
Per


On 23 Sep., 18:39, u473 wrote:
Transpose & reorg data from sheets "Force" and "Hours" to new workbook
sheet1
I need to adapt this skeleton code
...
Enter data Source WB path
Enter data Source WB Name
Enter data Destin. WB path
Enter data Destin. WB Name
' Same data map, in rows & cols, for "Force" & "Hours sheets
DateRange = A1: to Last Col.
Actvity Range = A1: to Last Row
DataRange = A1 : to Last Row - Last Col.
For C = 2 to MaxCol(DateRange)
* * * For R = 2 to Max(DataRange)
* * * * * * *' Write new WB Sheet1
* * * * * * *Date = Date(Col(C), Row(1))
* * * * * * *Activity = Value(Col(C1),Row(R))
* * * * * * *' From "Force" sheet
* * * * * * *Force = Value(Col(C),Row(R))
* * * * * * *' From "Hours" sheet
* * * * * * *Hours = Value(Col(C),Row(R))
* * * *Next
Next
....
Data Source : Sheet1 "Force"
* * * A * * * * * * B * * * * C * * * *D * * * *E
1. *Activity * *Oct1 * *Oct2 * Oct 3 *Oct4
2. * X * * * * * * 4 * * * * 13 * * * * * * * * * 1
3. * Y * * * * * * * * * * * * 6 * * * * *7 * * * 9
.....
Data Source : Sheet1 "Hours"
* * * A * * * * * * B * * * * C * * * *D * * * * E
1. *Activity * *Oct1 * *Oct2 * *Oct 3 * Oct4
2. * X * * * * * * 32 * * * 104 * * * * * * * * 10
3. * Y * * * * * * * * * * * * 72 * * * *56 * * *72
......
Expected result : New Workbook "Alpha" Sheet1
* * * A * * * * * * B * * * * C * * * *D
1. *Date * * * Activity *Force * *Hours
2. *Oct1 * * * * * X * * * * 4 * * * * *32
3. *Oct2 * * * * * X * * * *13 * * * *104
4. *Oct4 * * * * * X * * * * *1 * * * * 10
5. *Oct2 * * * * * Y * * * * *6 * * * * 72
6. *Oct3 * * * * * Y * * * * *7 * * * * 56
7. *Oct4 * * * * * Y * * * * 79 * * * *72
.....
Help appreciated,
J.P.


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 184
Default Transpose & reorg data from 2 WS to new WB

Thank you Per,
You made my day.
I will test it.
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
Transpose data and retain links to original data Neil Excel Worksheet Functions 2 October 23rd 09 12:46 PM
File directory structure reorg strebor44 Links and Linking in Excel 1 July 2nd 08 08:50 AM
Transpose data using Vba [email protected] Excel Programming 13 June 6th 07 08:04 AM
Transpose data Months & Data to Rows Deeds Excel Discussion (Misc queries) 18 January 8th 07 04:28 PM
transpose data srinivasan Excel Discussion (Misc queries) 7 February 17th 06 02:49 PM


All times are GMT +1. The time now is 11:23 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"