Страницы: 1
RSS
выбор крайних значений в матрице
 
Есть матрица. Нужно что б макрос искал на листе крайню левую ячейку со значением (верхний левый край матрицы) и крайние ячейки копировал в столбец правее.Подскажите возможно ли реализовать на vba?
 
Можно и на ВБА, а формула не подойдет? Вставьте ее в N2 и протяните на весь диапазон.
Код
=ИНДЕКС($B$2:$L$12;СТРОКА($A1);ПОИСКПОЗ(9E+307;$B2:$L2;1)) 
 
да, формулой можно, спасибо, но не подходит, потому что размерность и расположение матрицы меняется в реальном режиме, и только макросом можно:
1. найти матрицу на листе,
2. скопировать кол-во крайних ячеек, соответствуцющее размерности мартицы.

Если можете, подскажите с реализацией на vba.
 
Хотя бы с логикой реализации на вба.
 
А по каким критериям можно найти матрицу и её размерность?
 
ну допустим это пропустить, возможно потом со временем доработаю. или например принять что первое крайнее значение в матрице это первое ненулевое значение на листе (двигаясь от левого верхнего угла).
а просто от активной ячейки отталкиваясь брать значения крайние и вставлять как в файле можете подсказать как?
Изменено: qudriash - 24.11.2014 00:10:52
 
Не оптимально, циклом..
Код
Sub qq()
Dim ra As Range, ra1 As Range, i As Integer, j As Integer
Set ra = Range("B2:L12")        'диапазон матрицы
Set ra1 = Range("N2:N12")       'диапазон для результата
For j = 1 To ra.Columns.Count   'цикл по столбцам
i = 1
    Do While IsEmpty(ra(i, j))  'поиск первого числа
    i = i + 1
    Loop
    ra1(j, 1) = ra(i, j)        'занесение результата
Next j
End Sub
Страницы: 1
Наверх