Диапазон суммы L oop до последнего столбца - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь сделать al oop в VBA в сводной таблице, чтобы суммировать все строки до последнего столбца. Я знаю, что мне нужно сделать сумму с диапазоном, потому что PovitTable добавляет новые столбцы и строки. У меня есть этот код, но он просто stati c, я хотел бы, чтобы он сделал Dynami c с l oop.


Dim Celd As Object, Rang As Range, LastCol As Long

 LastCol = Cells(5, Columns.Count).End(xlToLeft).Select

   ActiveCell.Offset(0, 1).Value = "Total"

Set Rang = Range("D6:D16") ------------------ Here it should be the last column 

For Each Celd In Rang

Celda.Value = Celda.Offset(0,-2).Value + Celda.Offset(0,-1).Value ----------------------- Need to change the SUM 

Next Celd ```

Sorry, This code is static. Could someone help me with this loop. I'm new in BVA

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете найти последний столбец несколькими способами. Одним из способов является использование

LastColumn = Sheets(1).UsedRange.Columns.Count

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

Set rang = Range("D6:" & LastColumn & "16")

Если вы просто хотите получить сумму всех строк / столбцов, вы можете использовать

mySum = Application.Sum(rang)

Сумма будет сохранена в переменная mySum.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...