kweaver
Well-known Member
- Joined
- May 12, 2009
- Messages
- 2,940
- Office Version
- 365
I have data that looks like the following:
Below each row I need to insert a number of rows based on how many values from P to W are greater than 0.
Then, replicate the rows from columns A to O and show the column headings from P1 to W1 and the corresponding non-zero data so that the result looks like the following:
In other words, I want to show only the non-zero values from each row's columns P through W, and indicate where they came from (Row 1 headings in P through W)
And duplicate the data (e.g. Mary's columns A through O are duplicaded twice because there are three non-zero values in P through W).
SIGH. Hope that's fairly clear.
It should be done in VBA and the resulting array of data can be on a new sheet.
Book1 | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | |||
1 | Name | Dept | Head3 | Head4 | Head5 | Head6 | Head7 | Head8 | Head9 | Head10 | Head11 | Head12 | Head13 | Head14 | Head15 | Reg | OT | DT | other1 | other2 | other3 | other4 | other5 | ||
2 | Kevin | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | ||
3 | Mary | BBB | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 8 | 0 | 5 | 0 | 0 | 3 | 0 | 0 | ||
4 | John | CCC | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | ||
5 | Willilam | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 0 | 0 | 0 | 0 | 0 | 0 | 9 | 0 | ||
6 | Susan | DDD | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0.5 | ||
7 | Chelsea | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 10 | 6 | 1 | 0 | 0.5 | 0 | 0 | 0 | ||
Sheet1 |
Below each row I need to insert a number of rows based on how many values from P to W are greater than 0.
Then, replicate the rows from columns A to O and show the column headings from P1 to W1 and the corresponding non-zero data so that the result looks like the following:
Book1 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | |||
10 | Name | Dept | Head3 | Head4 | Head5 | Head6 | Head7 | Head8 | Head9 | Head10 | Head11 | Head12 | Head13 | Head14 | Head15 | Result1 | Result2 | ||
11 | Kevin | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 6 | DT | ||
12 | Mary | BBB | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 8 | Reg | ||
13 | Mary | BBB | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 5 | DT | ||
14 | Mary | BBB | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 3 | other3 | ||
15 | John | CCC | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 5 | OT | ||
16 | Willilam | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 9 | other4 | ||
17 | Susan | DDD | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 5 | Reg | ||
18 | Susan | DDD | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 0.5 | other5 | ||
19 | Chelsea | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 10 | Reg | ||
20 | Chelsea | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 6 | OT | ||
21 | Chelsea | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 1 | DT | ||
22 | Chelsea | AAA | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | Other_Data | 0.5 | other2 | ||
Sheet1 |
In other words, I want to show only the non-zero values from each row's columns P through W, and indicate where they came from (Row 1 headings in P through W)
And duplicate the data (e.g. Mary's columns A through O are duplicaded twice because there are three non-zero values in P through W).
SIGH. Hope that's fairly clear.
It should be done in VBA and the resulting array of data can be on a new sheet.