Страница 2 из 2

Re: Разложить на строки (Excel)

Добавлено: 26 фев 2008, 22:05
aks_sv
Pavel55, Спасибо!

Re: Разложить на строки (Excel)

Добавлено: 26 фев 2008, 22:05
Aent
&quot писал(а):Не работает, пишет в строке:
For i = LBound(v) To UBound(v)
ошибка?
Правильно пишет. v у вас проинициализирован значением одной ячейки
Cells(LastRow,11) и не является массивом.
Если MyData - именованная часть колонки, cодержащей исходные данные,
то инициализацию массива нужно делать так:

Код: Выделить всё

v = Application.WorksheetFunction.Transpose([MyData])
Для строки, естественно, транспонирование не нужно.
Или

Код: Выделить всё

ReDim v(1 to LastRow) as variant
..............
For i = 1 To LastRow
    v(i) = Cells(i, 11).Value
Next i
Но самое правильное вообще обойтись здесь без массива, cделав сортировку
средствами Excel.
Я использовал массив просто для прояснения смысла алгоритма
И кстати, в реальной жизни Variant лучше не использовать. Это неэффективно.