VBA Excel在大纲级别3上插入一行在大纲级别2上

时间:2011-12-23 22:00:53

标签: insert excel-vba outline vba excel

Here's the problem.当小计分组中只有一行时:

  • 插入的行不会进入右侧的大纲级别。
  • 小计不会自动包含插入的单元格。

这是插入行的代码(我之前定义的):

           For j = 2 To lEndRow * (1.5)
                If InStr(Cells(j, i), "Total") Then
                    Cells(j - 1, i).EntireRow.Insert
                    With Cells(j - 1, i)
                        .EntireRow.Font.ColorIndex = 3
                        .EntireRow.Interior.ColorIndex = 2
                    End With
                    Cells(j - 1, i).EntireRow.OutlineLevel = 2 ' This didn't work,
                         ' it puts all the inserted rows at 2 but doesn't group it
                         ' the subtotal.
                    Cells(j - 1, i + 8) = "1% Discount within terms"
                    Cells(j - 1, i + 24).FormulaR1C1 = "=Round((R[2]C[-8])*(.01),2)"
                    j = j + 1
                End If
            Next

我想如果你知道这是一个简单的问题。我只是不知道它,这让我非常沮丧。祝我愉快的第一篇文章和祝你节日快乐。

1 个答案:

答案 0 :(得分:1)

这是猜测,但我认为值得一试。

来自MS帮助的关于概述工作表

  • “要概述的数据应在范围内,其中每列在第一行中都有标签并包含类似的事实,并且没有空行或列 [我的突出显示< / em>]在范围内。“

在设置轮廓时,子总行为空,因此不能成为范围的一部分。尝试:

             Cells(j - 1, i + 8) = "1% Discount within terms"
             Cells(j - 1, i + 24).FormulaR1C1 = "=Round((R[2]C[-8])*(.01),2)"
             Cells(j - 1, i).EntireRow.OutlineLevel = 2

祝你好运。