помогите с заполнением таблицы

excel ms office формула макрос

подскажите как реализовать следующий алгоритм:
если ячейка [1,2] равна "□"
если ячейка [1,3] > 0 то заполнить ячейки от [1,100+значение ячейки [1,1]] до [1,100+значение ячейки [1,3]] "тире"
иначе ячейке от [1,100+значение ячейки [1,1]] присвоить значение "тире"
иначе заполнить ячейки от [1,100] до [1,100+30] "null"

Примечание:
с помощью формулы получилось реализовать, но это получается таблица в 360 000 ячеек с формулой =ЕСЛИ($C5="□";ЕСЛИ($D5>0;ЕСЛИ(И(G$2>=$B5;G$2<=$D5);"—";"");ЕСЛИ(G$2=$B5;"—";""));"")
а комп старенький боюсь не потянет, хотелось бы макрос если можно
Ответы:
Sub дважды_папа()
Dim intI as integer
If cells(1,2)="□" Then
 If cells(1,3)>0 then
    range(cells(1,100+cells(1,1).value), cells(1,100+cells(1,3).value))="-"
 else cells(1,100+cells(1,1).value)="-"
 End if
Else range(cells(1,100), cells(1,130))="" (ну, или null)
End if
End sub


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.