tags:

views:

23

answers:

1

Hi,

How can I add new rows from:-

Column A        Column B         Column C
11               Size              S
11               Color             Yellow
11               Type              Q
22               Size              M
22               Color             Blue
22               Type              W
33               Size              L
33               Color             Brown
33               Type              R

to this in excel:-

Column A        Column B         Column C
11               Size              S
11               Color             Yellow
11               Type              Q
11               Model             T1
11               Grade             1
11               LotNo             Z10
22               Size              M
22               Color             Blue
22               Type              W
22               Model             T2
22               Grade             1
22               LotNo             M10
33               Size              L
33               Color             Brown
33               Type              R
33               Model             T3
33               Grade             2
33               LotNo             C10

Thanks,

Bob

+1  A: 

Assuming you mean doing this in VBA (since it's tagged macros and this is a programming Q&A site), you can insert and populate a row with code like:

Range("A3").EntireRow.Insert
Range("A3").Formula = "=11"
Range("B3").Value = "Hello"

Everything else is just figuring out a loop which will do the whole thing. The code below will expand the rows as you desire (by adding Model, Grade and LotNo rows after each Type row). The actual values of those items are left as ?? since it's not clear how to calculate them from the other data.

Sub Macro1()
    Dim Row As Integer
    Row = 1
    While Range("B" & Row).Value <> ""
        Row = Row + 1
    Wend
    While Row <> 1
        If Range("B" & (Row - 1)).Value = "Type" Then
            Range("A" & Row).EntireRow.Insert
            Range("A" & Row).Formula = Range("A" & (Row - 1)).Formula
            Range("B" & Row).Value = "LotNo"
            Range("C" & Row).Value = "??"

            Range("A" & Row).EntireRow.Insert
            Range("A" & Row).Formula = Range("A" & (Row - 1)).Formula
            Range("B" & Row).Value = "Grade"
            Range("C" & Row).Value = "??"

            Range("A" & Row).EntireRow.Insert
            Range("A" & Row).Formula = Range("A" & (Row - 1)).Formula
            Range("B" & Row).Value = "Model"
            Range("C" & Row).Value = "??"

        End If
        Row = Row - 1
    Wend
End Sub
paxdiablo
Thanks, it works. I hv hundreds of such items to be added. This will save me a lot.
Bob