Я хочу создать макрос, который заполнит пустые ячейки формулой. Формула будет ссылаться на ячейку выше, но только после того, как я применяю Subtotal
моим данным, а также только в строках с Total
(смотри ниже скриншоте Sample):число строк только для видимых ячеек
Пока будет применять мой макрос промежуточный итог, затем фильтровать по столбцу с итогами и фильтром для чего-либо с Total
в ячейке. Впоследствии он подсчитывает все невидимые строки и вычитает 2 (я не хочу считать заголовок и общее количество). Он принимает значение count и выполняет цикл приложения формулы.
Это говорит о том, что он работает большую часть времени, но каждый раз он часто ошибается на 2, и я не могу понять, почему.
Данные отформатированы одинаково, и каждый раз используются одинаковые столбцы.
Я надеюсь, что я объяснил свою проблему ясно и образец и фрагмент кода достаточно:
'filling in empty cells on subtotal line
Cells.Select
Selection.AutoFilter
LastRow = Range("G" & Rows.Count).End(xlUp).Row
x = LastRow
ActiveSheet.Range("G1:G" & x).AutoFilter Field:=7, Criteria1:="=*total*", Operator:=xlAnd, Criteria2:="<>Grand Total", Operator:=xlAnd
Set rng = ActiveSheet.AutoFilter.Range
'-2 is to NOT count the header or Grand Total for my loop count
RowCount = rng.Columns(2).SpecialCells(xlCellTypeVisible).Count - 2
r = RowCount
Я заменил свою строку вашим предложением, но все же имею ту же проблему. 'RowCount = rng.Columns (2) .SpecialCells (xlCellTypeVisible).Count - 2 RowCount = rng.Resize (, 1) .SpecialCells (xlCellTypeVisible) .Count - 2 r = RowCount – ssnch
странно, вы пытались сделать обратное? считать невидимые строки и вычесть их из общей суммы? есть ли та же проблема? –