ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Transposition impossibility? (https://www.excelbanter.com/excel-discussion-misc-queries/86063-transposition-impossibility.html)

Brisbane Rob

Transposition impossibility?
 

When I import my inventory records from the accounting package this is
what I have:-

Code Size
1 3
1 6
1 7
2 2
2 3
2 4
2 6
3 4
4 1
4 3

You get the picture - twelve pages of codes with different sizes.
This is what I need:-

Code Sizes
1 3 6 7
2 2 3 4 6
3 4
4 1 3

With a random number of lines being reported for the sizes for the
product codes, I can't figure out a way to run a copypaste
specialtranspose macro because doing it manually sucks.

It would be best if the sizes went into different columns so I could
run further analysis but any ideas gratefully accepted.


--
Brisbane Rob
------------------------------------------------------------------------
Brisbane Rob's Profile: http://www.excelforum.com/member.php...o&userid=25096
View this thread: http://www.excelforum.com/showthread...hreadid=537553


Brisbane Rob

Transposition impossibility?
 

My layout lost its formatting when I submitted it - the data comes into
Excel in two columns, code and size.


--
Brisbane Rob
------------------------------------------------------------------------
Brisbane Rob's Profile: http://www.excelforum.com/member.php...o&userid=25096
View this thread: http://www.excelforum.com/showthread...hreadid=537553


Stefan

Transposition impossibility?
 
With a random number of lines being reported for the sizes for the
product codes, I can't figure out a way to run a copypaste
specialtranspose macro because doing it manually sucks.


It would be best if the sizes went into different columns so I could
run further analysis but any ideas gratefully accepted.


Rob,

you can run this code

Sub transform()
Set b = Worksheets("Sheet1") '< change name if needed
iRow = Application.CountA(Columns(1))
xRow = 1
xCol = 5
For i = 2 To iRow
If Cells(i, 1) < Cells(i - 1, 1) Then
xRow = xRow + 1: xCol = 5
Cells(xRow, 4) = Cells(i, 1)
End If
Cells(xRow, xCol) = Cells(i, 2)
xCol = xCol + 1
Next
End Sub


This is if your list is in column A:B and starts from the top.
The result comes in column D: ...

--
Stefan

Stefan

Transposition impossibility?
 
" Rob,

you can run this code

Sub transform()
Set b = Worksheets("Sheet1") '< change name if needed
iRow = Application.CountA(Columns(1))
xRow = 1
xCol = 5
For i = 2 To iRow
If Cells(i, 1) < Cells(i - 1, 1) Then
xRow = xRow + 1: xCol = 5
Cells(xRow, 4) = Cells(i, 1)
End If
Cells(xRow, xCol) = Cells(i, 2)
xCol = xCol + 1
Next
End Sub


This is if your list is in column A:B and starts from the top.
The result comes in column D: ...

--
Stefan



Sorry, first line (set b= ...) isn't necessary if the sheet is visible on
your screen; otherwise you must add b. before every Cells in the code.

Cells(... = b.Cells(...

Brisbane Rob

Transposition impossibility?
 

Many thanks Stephan. It works brilliantly...


--
Brisbane Rob
------------------------------------------------------------------------
Brisbane Rob's Profile: http://www.excelforum.com/member.php...o&userid=25096
View this thread: http://www.excelforum.com/showthread...hreadid=537553



All times are GMT +1. The time now is 04:59 PM.

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