Вы можете сделать так, чтобы код определял количество используемых столбцов и циклически проходил по ним, или устанавливал их вручную.
В этом примере Excel будет автоматически считать столбцы.
Тогда он будетподсчитайте количество людей, предполагая, что вы хотите, чтобы итоги в одной строке.
Если вы хотите подсчитать строки каждого столбца в отдельности, просто переместите RowLenght
в первую часть цикла и измените 1
до i
.
Я постарался максимально полно включить вашу оригинальную идею, и у нас есть две переменные, которые мы можем установить вручную StartRow
и StartColumn
.
Sub Button1_Click()
Dim ColumnLenght As Long, RowLenght As Long, i As Long, ColumnLetter As String, StartRow As Long, StartColumn As Long
ColumnLenght = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
RowLenght = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
StartRow = 2
StartColumn = 2
For i = StartColumn To ColumnLenght
ColumnLetter = Split(Cells(1, i).Address, "$")(1)
Cells(RowLenght + 1, i).Formula = "=sum(" & ColumnLetter & StartRow & ":" & ColumnLetter & RowLenght & ")"
Next i
End Sub
Вот код в действии: