На сайте нашел функцию
Попробовал применить ее к диапозону который будет рости (т.е. значения будут добавляться и нужно оперативно их обрабатывать Соответственно диаппозон обработки задал в 9999 строк и диапозон входных данных 9999 строк. При единственном значении во входном диапозоне все значения результата равнялись единственному числу из входного диапозона. Кажется это не совсем тот результат который описывался для этой функции. Что в ней не так?
Код |
---|
Function NoBlanks(DataRange As Range) As Variant() Dim N As Long Dim N2 As Long Dim Rng As Range Dim MaxCells As Long Dim Result() As Variant Dim R As Long Dim C As Long MaxCells = Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count, DataRange.Cells.Count) For Each Rng In DataRange.Cells If Rng.Value <> vbNullString Then N2 = N2 + 1 End If Next Rng ReDim Result(1 To N2, 1 To 1) For Each Rng In DataRange.Cells If Rng.Value <> vbNullString Then N = N + 1 Result(N, 1) = Rng.Value End If Next Rng If Application.Caller.Rows.Count = 1 Then NoBlanks = Application.Transpose(Result) Else NoBlanks = Result End If End Function |
Попробовал применить ее к диапозону который будет рости (т.е. значения будут добавляться и нужно оперативно их обрабатывать Соответственно диаппозон обработки задал в 9999 строк и диапозон входных данных 9999 строк. При единственном значении во входном диапозоне все значения результата равнялись единственному числу из входного диапозона. Кажется это не совсем тот результат который описывался для этой функции. Что в ней не так?