Continue to have issue with array in Subtotals automation
Hi Dave,
Thanks for the suggestion. I found that the problem was that there weren't
values in some cells in the header row -- once I put values into those cells,
the code worked perfectly.
Thanks!
Robert
--
Robert
"Dave Peterson" wrote:
When I had good data in my worksheet, your code worked fine for me.
But if I screwed up and didn't have nice data, then I could get the error.
I'd remove the "on error resume Next" line (along with the "on error goto 0"
line) and verify that my rng was what I wanted:
Msgbox rng.address
And even step through the code to see what was in arrcols. Maybe it wasn't what
you wanted.
robs3131 wrote:
Hi all,
I had posted on this issue previously, but was not able to find a solution
from those who provided input. Below is a better description of what I'm
trying to do and the issue I'm having:
I am trying to get the code to subtotal beginning with column BA and going
through the last column to the right (the number of columns to the right of
BA can vary). The subtotal needs to be based on changes in column A (ie -
subtotal for "Bob", then for "Mary", etc) -- the headers are in row 2 and the
data to be summed begins with row 3 (after a blank row 3 is deleted by one of
the first lines in the code). The line of code below noted by ** results in
the following error:
Error:
Run-time error '1004': Subtotal method of Range class failed
Sub subtotalcum()
Dim aryCols() As Variant
Dim i As Integer
Dim max As Integer
Dim rng As Range
With Sheets("Commission by Entity breakdown")
.Rows("3:3").Delete shift:=xlUp
On Error Resume Next
Set rng = .Range(.Range("BA2"),
.Range("IV2").End(xlToLeft).Offset(0, -8))
max = rng.Count
ReDim aryCols(1 To max)
On Error GoTo 0
If Not rng Is Nothing Then
For i = 1 To max
aryCols(i) = i + 52
Next i
.Range("A2").subtotal _
GroupBy:=1, _
Function:=xlSum, _
TotalList:=aryCols(), _
Replace:=True, _
PageBreaks:=False, _
SummaryBelowData:=False
End If
End With
End Sub
--
Robert
--
Dave Peterson
|