Уважаемые знатоки! Прошу вашей помощи! Я совсем не разбираюсь в макросах, но очень надо. Прошу не смеяться и не бить меня ногами)) Мне нужно сделать код типа:
Код |
---|
For Each Cell In Range("D35:D44")
If IsEmpty(Cell) Then Cell.Value = "без кромки"
Next Cell
End Sub |
То есть нужно, чтобы пустые ячейки в столбце D заполнились "без кромки". Проблема в том, что диапазон меняется в зависимости от количества вставленных строк. То есть известен столбец=D, а вот его строка может быть не 35, а больше. Как это реализовать формулой я понимаю
Код |
---|
=ПОИСКПОЗ("Итого Фасады";B:B;0)+8 |
здесь у меня от названия строки предыдущей таблицы отсчитывается +8 строк и получается номер строки для этого диапазона. Так же и для нижней границы диапазона
Код |
---|
=ПОИСКПОЗ("Итого МДФ панель (шпон с 2х сторон)";B:B;0)-2 |
Как я себе представляю это нужно задать через переменные:
Код |
---|
Set x =
Set y = For Each cell In Range(Cells(x, 4), Cells(y, 4))
If IsEmpty(cell) Then cell.Value = "без кромки"
Next cell
End Sub |
Как правильно прописать эти переменные, чтобы работало? Пыталась записать макрос вручную через формулу и подставить в код, но получается фигня и не работает.
Код |
---|
Set x = "=MATCH(""Итого Фасады"",C[-2],0)+8"
Set y = "=MATCH(""Итого МДФ панель (шпон с 2х сторон)"",C[-2],0)-2"
For Each cell In Range(Cells(x, 4), Cells(y, 4))
If IsEmpty(cell) Then cell.Value = "без кромки"
Next cell
End Sub |
Заранее благодарю!!! Пример прикладываю.