Программирование VBA в Excel без использования ActiveCell

Кто-нибудь знает, можно ли прокручивать электронную таблицу Excel с помощью VBA без использования ActiveCell?

В качестве примера, как вы можете создать функцию COUNTIF с нуля в VBA без использования ActiveCell (или, очевидно, для вызова функции COUNTIF)?

Я хочу, чтобы избежать ActiveCell, потому что кажется, что ненужное использование ресурсов для прокрутки активной ячейки вокруг, когда обычно вы пытаетесь манипулировать простой матрицей, особенно при переходе через тысячи ячеек.

Dim c as Range For Each c in Sheets("Sheet1").Range("A1:A1000").Cells 'do something with c Next c 

Что сказал Тим.

Просто для того, чтобы обратиться к части вашего вопроса, пожалуйста, вот способ сделать это, не используя формулу:

 Sub Macro14() Dim c As Range Dim rng As Range Dim count_if As Integer Set rng = Sheets("Sheet1").Range("A1:A1000") For Each c In rng If c = "Apple" Then count_if = count_if + 1 End If Next c Debug.Print count_if End Sub 
  • Excel VBA: перебирать ячейки и копировать значения в другую книгу
  • VBA преуспеть, чтобы скопировать формулу с листа и вставить в несколько листов
  • EXCEL VBA: создание простого цикла для повторения процесса для каждой строки
  • Excel vba: поиск пары логических значений в диапазоне строк за строкой
  • зациклируйте весь лист, не работая, только повторите на отдельных листах
  • Переход по столбцам и установка диапазона с помощью цикла «Do while» в Vba
  • Цитирование через столбец, столбец которого указан переменной, а строка - i
  • VBA - Loop не будет увеличиваться на единицу каждый раз в столбце ID
  • Условное форматирование Excel VBA по каждой строке
  • Создайте простой оператор `If` и цикл
  • Вычисление петли в Power Query
  • Давайте будем гением компьютера.