Может быть, как это:
Option Explicit
Sub Main()
Dim ws As Worksheet, i&, arr() As Long, rng As Range
Set ws = ThisWorkbook.Sheets("Sheet1")
ReDim arr(0)
Call nonZeroSelection(ActiveSheet, i, arr, rng)
End Sub
Sub nonZeroSelection(ByRef ws As Worksheet, ByRef i&, ByRef arr() As Long, rng As Range)
Dim lr&, ix$
lr = ws.Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To lr
Set rng = ws.Range("A" & i)
If rng.Value = "0" Then
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr) - 1) = i
End If
Set rng = Nothing
Next i
ReDim Preserve arr(UBound(arr) - 1)
For i = LBound(arr) To UBound(arr)
ix = ix & arr(i) & ":" & arr(i) & ","
Next i
ix = Left(ix, Len(ix) - 1)
ws.Range(ix).Select
End Sub
Спасибо за быстрый ответ. Я хочу использовать сценарий VBA для этого, потому что это часть автоматизированного процесса. Диапазон будет передан другой функции. – mchangun
О, хорошо, что с этим делать во время записи макроса. Должен дать вам хорошее начало для работы. – CustomX
эта ссылка от Ozgrid могла бы помочь: http://www.ozgrid.com/VBA/autofilter-vba-criteria.htm – CustomX