Toggle Subtotal on and off
Paul,
Because Subtotal is a Method rather than a property it doesn't have a
'state' that you can check in this way. A fairly easy way round this
would be to toggle something else at the same time as you apply or
remove Subtotal e.g. the forecolor of the button font or maybe the
button caption from [ Apply Subtotals ] to [ Remove Subtotals ]. This
would then give you a 'state' to check at the top of your routine.
Alternatively how about creating a name e.g. SubtotalState that you
toggle from ="ON" to ="OFF"
Sub SubtotalOnOff()
If ActiveWorkbook.Names("SubtotalState").RefersTo = "=""OFF""" Then
Range("A8").SubTotal GroupBy:=3, Function:=xlSum,
TotalList:=Array(5, 6), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
ActiveSheet.Outline.ShowLevels RowLevels:=2
ActiveWorkbook.Names("SubtotalState").RefersTo = "=""ON"""
Else
Selection.RemoveSubtotal
ActiveWorkbook.Names("SubtotalState").RefersTo = "=""OFF"""
End If
End Sub
I've not tested this but it should work - don't forget, you will need
to create the name first.
HTH
NickH
|