DIm DataCell as Range
On Error Resume Next
For Each DataCell in Selection
If DataCell.Value<>0 Then 'При условии, что значения могут быть только числовые. Иначе делаем проверки или, как я, забиваем на них с помощью On Error Resume Next
'Приченяем добро: добавляем данные в динамический массив, в коллекцию, в другие ячейки и т.п.
End If
Next