Страницы: 1
RSS
Замена констант названием блоков данных
 
Такая вот у меня задача. Мне нужно научиться макросом преображать ИСХОДНИК в таблицу вида А НУЖНО ТАК. Перед запуском макроса  будет выделена всегда ячейка B2 (вася). А в ячейке B3(#КОНСТАНТА! ) всегда будет значение #КОНСТАНТА!  и в ячейке A3(#КОНСТАНТА! ) тоже будет всегда значение #КОНСТАНТА! И так будут в строке выглядеть одинаково обе ячейки (#КОНСТАНТА! ) до тех пор, пока в столбце "B" макросу не встретиться ячейка с другим значением, например "люба"(а может быть любое отличное от #КОНСТАНТА!) . После того, как это произошло макрос должен скопировать туда содержание предыдущей ячейки и ячейки слева. и так далее.
В прилагаемом файле более расширенная таблица  исходника и того что нужно получить
 
формулу ы желтой ячейке растяните вниз и вправо
Лень двигатель прогресса, доказано!!!
 
alex, еще вариант макросом
Код
Sub if_error()
Dim cell As Range, rng As Range
lr = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range(Cells(2, 1), Cells(lr, 2))
For Each cell In rng
    If IsError(cell) Then
    cell = cell.Offset(-1, 0)
    End If
Next cell
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Сергей, Вашим способом я сразу получил результат:) Спасибо. Довольно быстро растянул на 4000 строк:)
Mershik, Вот с макросом до сих пор разбираюсь. Мне нужно больше времени. Спасибо.
 
А что разбираться ?в вашем файле-примере запускаете и все
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, нет, все работает, только я  пока не знаю как:) с Offset разобрался. С остальным пока не очень:)
Хотя, с "ЕОШ" тоже не понимаю до конца как работает. Но работает. Вручную меняю формулу если начинать надо с другой ячейки. Но принцип ясен. Спасибо.
Изменено: alex - 12.07.2020 18:30:34
Страницы: 1
Наверх