Sub test_sum()
last_row_in_Process_sheet = Application.Workbooks(file_name).Worksheets("ms").Range("a65536").End(xlUp).Row
atmCurrentSum = Application.WorksheetFunction.Subtotal(9,Range("AQ3:AQ4533"))
MsgBox last_row_in_Process_sheet
MsgBox atmCurrentSum
End Sub

Выше данных фильтруются данные, когда запрашивается последняя использованная ячейка в столбце "А".Я получаю "A232", но мне нужен результат как "A255".

какую функцию мне нужно использовать здесь?

Мне нужно получить общее количество отфильтрованных ячеек на AQ255 для COLUMN AQ

2 ответа2

1

Самый простой способ найти первую пустую строку в Excel - это с помощью UsedRange
ActiveSheet.Usedrange.Rows.Count+1

(если ваши данные не начинаются с первой строки, используйте:
ActiveSheet.Usedrange.Row + ActiveSheet.Usedrange.Rows.Count)

0

Преобразуйте ваши данные в таблицу. Тогда это работает.

  • Активировать insert рибон (меню)
  • Выберите table
  • Укажите, что ваши данные уже имеют заголовки
  • Войти

Если честно, я называю это ошибкой в Excel.

Если вам нужна первая пустая ячейка вместо последней непустой, примените смещение в 1 строку

last_row_in_Process_sheet = Application.Workbooks(file_name).Worksheets("ms").Range("a65536").End(xlUp).Offset(RowOffset:=1).Row

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .