Функция консолидации не работает в VBA

Что мне нужно, это действительно просто. например:

        Br         56

        Bc          6

        Bt          20

        Br          23

        bc          15

Я хочу, чтобы эти дубликаты bc/br/bt объединились и суммировали их числа. Это часть кода, которую я написал. Однако он продолжает давать мне "определенную приложением или определенную объектами ошибку". Кто-нибудь может сказать, в чем проблема?

         Sub lo()
         Dim sr As Variant
         Range("a1", Range("a1").End(xlDown).End(xlToRight)).Select

           Set sr = Selection

          Range("n1").Consolidate Sources:=sr,
            _Function:=xlSum,TopRow:=False, LeftColumn:=True, 
                _CreateLinks:=False
             End Sub

1 ответ

По-видимому, эта функция требует, чтобы диапазоны были в эталонном стиле R1C1. Приведенный ниже код должен работать для вас.

Я также должен был переместить подчеркивания в конец каждой строки вместо начала следующей строки.

         Sub lo()
         Dim sr As Variant
         Range("a1", Range("a1").End(xlDown).End(xlToRight)).Select

           Set sr = Selection

          Range("n1").Consolidate Sources:=sr.address(ReferenceStyle:=xlR1C1), _
            Function:=xlSum,TopRow:=False, LeftColumn:=True, _
                CreateLinks:=False
             End Sub
Другие вопросы по тегам