ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Selecting data from columns and displaying them as rows (https://www.excelbanter.com/excel-discussion-misc-queries/244828-selecting-data-columns-displaying-them-rows.html)

chrisvail

Selecting data from columns and displaying them as rows
 
This may be any easy thing to do but I'm trying to do the following and I
need a very detailed explanation of how to do it. About 1000 employees will
be grouped but their subordinate will need to
be displayed on the same row as the employee with each subordinate in a
different column for each employee.

I trying to convert this type of table:
EMPLOYEE SUBORDINATE
Employee 1 Subordinate A
Employee 1 Subordinate B
Employee 2 Subordinate C
Employee 2 Subordinate D
Employee 3 Subordinate E
Employee 3 Subordinate F

To this type:
EMPLOYEE SUBORDINATE 1 SUBORDINATE 2
Employee 1 Subordinate A Subordinate B
Employee 2 Subordinate C Subordinate D
Employee 3 Subordinate E Subordinate F


Thank you,

Chris


Jim Thomlinson

Selecting data from columns and displaying them as rows
 
What you are asking for requires a macro. Something like this should be
close...

Public Sub TransposeSpecial()
Dim rngEmp As Range
Dim rngAllEmps As Range
Dim wks As Worksheet
Dim wksNew As Worksheet
Dim rngPaste As Range

Set wks = ActiveSheet
Set wksNew = Worksheets.Add
Set rngPaste = wksNew.Range("A1")

With wks
Set rngAllEmps = .Range(.Range("A2"), .Cells(Rows.Count, "A").End(xlUp))
End With

For Each rngEmp In rngAllEmps
If rngEmp.Value < rngEmp.Offset(-1, 0).Value Then
Set rngPaste = rngPaste.Offset(1, 0)
rngPaste.Value = rngEmp.Value
End If
rngPaste.Offset(0, _
Application.WorksheetFunction.CountA(rngPaste.Enti reRow)).Value
= _
rngEmp.Offset(0, 1)
Next rngEmp
End Sub
--
HTH...

Jim Thomlinson


"chrisvail" wrote:

This may be any easy thing to do but I'm trying to do the following and I
need a very detailed explanation of how to do it. About 1000 employees will
be grouped but their subordinate will need to
be displayed on the same row as the employee with each subordinate in a
different column for each employee.

I trying to convert this type of table:
EMPLOYEE SUBORDINATE
Employee 1 Subordinate A
Employee 1 Subordinate B
Employee 2 Subordinate C
Employee 2 Subordinate D
Employee 3 Subordinate E
Employee 3 Subordinate F

To this type:
EMPLOYEE SUBORDINATE 1 SUBORDINATE 2
Employee 1 Subordinate A Subordinate B
Employee 2 Subordinate C Subordinate D
Employee 3 Subordinate E Subordinate F


Thank you,

Chris


chrisvail

Selecting data from columns and displaying them as rows
 
Hi Jim,

Thank you! This worked perfectly. Very useful.

Chris

"Jim Thomlinson" wrote:

What you are asking for requires a macro. Something like this should be
close...

Public Sub TransposeSpecial()
Dim rngEmp As Range
Dim rngAllEmps As Range
Dim wks As Worksheet
Dim wksNew As Worksheet
Dim rngPaste As Range

Set wks = ActiveSheet
Set wksNew = Worksheets.Add
Set rngPaste = wksNew.Range("A1")

With wks
Set rngAllEmps = .Range(.Range("A2"), .Cells(Rows.Count, "A").End(xlUp))
End With

For Each rngEmp In rngAllEmps
If rngEmp.Value < rngEmp.Offset(-1, 0).Value Then
Set rngPaste = rngPaste.Offset(1, 0)
rngPaste.Value = rngEmp.Value
End If
rngPaste.Offset(0, _
Application.WorksheetFunction.CountA(rngPaste.Enti reRow)).Value
= _
rngEmp.Offset(0, 1)
Next rngEmp
End Sub
--
HTH...

Jim Thomlinson


"chrisvail" wrote:

This may be any easy thing to do but I'm trying to do the following and I
need a very detailed explanation of how to do it. About 1000 employees will
be grouped but their subordinate will need to
be displayed on the same row as the employee with each subordinate in a
different column for each employee.

I trying to convert this type of table:
EMPLOYEE SUBORDINATE
Employee 1 Subordinate A
Employee 1 Subordinate B
Employee 2 Subordinate C
Employee 2 Subordinate D
Employee 3 Subordinate E
Employee 3 Subordinate F

To this type:
EMPLOYEE SUBORDINATE 1 SUBORDINATE 2
Employee 1 Subordinate A Subordinate B
Employee 2 Subordinate C Subordinate D
Employee 3 Subordinate E Subordinate F


Thank you,

Chris



All times are GMT +1. The time now is 12:27 AM.

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