Ошибка: Sub или функция не определены - Простой макрос промежуточных итогов - PullRequest
0 голосов
/ 02 июля 2018

У меня есть этот простой код:

Range("A1:C201").Select
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _
    Replace:=True, PageBreaks:=False, SummaryBelowData:=True

Когда я пытаюсь запустить макрос, он отображает ошибку «Sub или funtion not selected». Я не вижу ошибки синтаксиса, поэтому я не уверен, что это проблема с настройкой моего VB?

Не могли бы вы мне помочь?

1 Ответ

0 голосов
/ 02 июля 2018

Весь код должен существовать в подпрограмме или функции. Вы не можете писать код вне этих конструкций.

Попробуйте это:

Option Explicit

Public Sub runSubTotal()
    Range("A1:C201").Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _
        Replace:=True, PageBreaks:=False, SummaryBelowData:=xlSummaryBelow
End Sub

ПРИМЕЧАНИЕ. Вместо того чтобы сделать область действия этой подпрограммы статичной, вы можете настроить ее на любой выбранный диапазон. С помощью следующего кода вы выберете свои данные на листе, а затем запустите макрос. Было бы принято все, что выбрал пользователь:

Option Explicit

Public Sub runSubTotal()
    Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _
        Replace:=True, PageBreaks:=False, SummaryBelowData:=True
End Sub
...