Страницы: 1
RSS
Как произвести автозаполнение столбца с заданным шагом?
 
Подскажите пожалуйста, как можно быстро заполнить столбец без использования протягивания по такому сценарию: есть ячейка определенного цвета с определенным числовым значением. Необходимо ничего не меняя размножить эту ячейку начиная с ее текущей позиции и до конца столбца с заданным шагом (например, через 50 строк по вертикали)?
 
только макросом
 
Спасибо, но мне кажется, что на просторах именно этого форума пару лет назад, когда подобная проблема у меня уже возникала, я находил решение и очень простое, хотя и не уверен в этом на 100% ... Не подскажите решение с макросом?
 
Цитата
vitaliy4us написал:
Не подскажите решение с макросом?
Подскажем... на вашем примере - что есть; что надо.
 
Цитата
Михаил Витальевич С. написал:
Подскажем... на вашем примере - что есть; что надо.
Например, есть ячейка Y59 и ее надо размножить до конца столбца с шагом 50.
Есть макрос:

Код
Sub createColumn()
    startRow = 59
    col = 25
    s = 60
    finishRow = 1048576
    Cells(startRow, col).Select
    Selection.Copy
    For counter = startRow To finishRow Step s
        Cells(counter, col).Select
        ActiveSheet.Paste
    Next
End Sub


Макрос работает с такой же скоростью как и ручное протягивание. Как это дело можно ускорить? Подозреваю что ускорит прямое копирование (т.е. вместо Select, а потом Copy можно делать только Copy from-to), но с VB для Excel не знаком, да и не думаю, что это изменит ситуацию кардинально. Есть мысль сделать начальный диапазон из нескольких ячеек, а потом копировать не по одной ячейке, а сразу этот диапазон. В общем надо как-то ощутимо быстрее.
Изменено: vitaliy4us - 11.12.2019 09:18:45
Страницы: 1
Наверх