Вот проблема. Когда в подытоге есть только одна строка:
- вставленный ряд не входит в правый уровень структуры.
- промежуточный итог автоматически не включает вставленную ячейку.
А вот код, который вставляет строку (я определен ранее):
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
Я полагаю, что это простая проблема, если вы это знаете. Я просто не знаю этого, и это очень расстроило меня. Счастливого первого поста для меня и счастливых вам праздников.