2013-10-11 3 views
1

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

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

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

ответ

2
Dim c as Range 

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

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

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

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 
Смежные вопросы