在Excel中创建其他行

时间:2010-10-26 04:57:06

标签: excel

如何从以下位置添加新行: -

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

以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

谢谢,

鲍勃

1 个答案:

答案 0 :(得分:1)

假设您的意思是在VBA中执行此操作(因为它标记为macros并且这是一个编程Q& A站点),您可以使用以下代码插入和填充行:

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

其他一切只是找出一个可以完成整个过程的循环。下面的代码会根据需要扩展行(通过在每个Model行之后添加GradeLotNoType行。这些项目的实际值保留为??,因为不清楚如何从其他数据计算它们。

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