Страницы: 1
RSS
Копирование ячейки много раз
 
Есть макрос который копирует ячейку только 2 раза. Как его изменить что копирование происходило до бесконечности.
Код
Sub www()
    Cells(3, 2).Copy Cells(1, 1).End(xlUp)(2)
End Sub
 
Код
Do .... Loop
"Все гениальное просто, а все простое гениально!!!"
 
Nordheim, не знаком с этим. можно в виде готового кода пожалуйста
 
Цитата
CEHATOP написал: копирование происходило до бесконечности
Вы в этом уверены?
Согласие есть продукт при полном непротивлении сторон
 
Sanja,имел ввиду до последней ячейки столбца
 
Нашел что то похожее только этот макрос начинает вставку со 2 строки 6 столбца, а мне нужно например с 18 строки 19 столбца. Как его изменить?
Код
Sub макрос2()
Dim LastRow As Long
   With Sheets("лист1")
       LastRow = Cells(Rows.Count, 6).End(xlUp).Row
       Range("A1").Copy .Cells(LastRow + 1, 6)
   End With
End Sub
 
Код
Sub макрос2()
Dim LastRow As Long
With Sheets("Лист1")
    LastRow = .Cells(.Rows.Count, 19).End(xlUp).Row + 1
    Range("A1").Copy .Range(.Cells(18, 19), .Cells(LastRow, 19))
End With
End Sub
Изменено: Sanja - 24.06.2019 18:47:50
Согласие есть продукт при полном непротивлении сторон
 
Цитата
CEHATOP написал:
Копирование ячейки много раз
CEHATOP, по такому названию ответ может быть таким: выполняйте макрос столько раз, сколько требуется. Уточните название темы по задаче.
 
Sanja,что то не то. Ваш макрос при первом срабатывании вставляет значение одновременно со 2 по 18 строку, а далее уже по одной строке.
Если в копируемой ячейке стоит формула, то он ее копирует. Как вставить значение этой формулы, а не саму формулу?
 
Юрий М,вы правильно поняли название темы. Необходимо при каждом срабатывании макроса добавлять одну запись в столбец.
 
Мой макрос вставляет значение с 18й строки 19го столбца до первой пустой ячейки 19го столбца включительно
Вам же это надо
Цитата
CEHATOP написал: мне нужно например с 18 строки 19 столбца
Изменено: Sanja - 24.06.2019 19:05:51
Согласие есть продукт при полном непротивлении сторон
 
Цитата
CEHATOP написал:
Необходимо при каждом срабатывании макроса добавлять одну запись в столбец.
Могу только повторить: выполняйте макрос, копирующий значение ячейки в первую свободную СТОЛЬКО раз, сколько требуется.
 
Sanja,нет не это. Необходимо начинать вставку с 18 строки 19 столбца и далее вниз на 19, 20, 21 строки
 
Вообще не понял
Ваше последнее 'не это' противоречит изначальной 'хотелки'
В принципе все возможности по изменению кода 'на это' в Ваших руках - дерзайте, задача вообще простейшая  
Согласие есть продукт при полном непротивлении сторон
 
Sanja,вы файл смотрели?
 
Цитата
CEHATOP написал:
Необходимо начинать вставку с 18 строки 19 столбца и далее вниз на 19, 20, 21 строки
CEHATOP, давайте уточнимся, а то рассказчик из Вас ещё тот ))
Нужно КАЖДЫЙ раз начинать со строки 18? Если так, то при каждом (втором и более) выполнении макроса итоговый диапазон будет увеличиваться только на одну строку.
 
Цитата
CEHATOP написал: Sanja ,вы файл смотрели?
Смотрел. Мой макрос делает ровно то, что просили
Какая постановка задачи - такое и решение
Попытайтесь сформулировать ЧТО же Вам нужно. Просто, по-русски.
Согласие есть продукт при полном непротивлении сторон
 
Юрий М,При первом срабатывании макроса заполняется Cells(18, 19), при втором Cells(19, 19), при третьем Cells(20, 19) и т.д. до последней ячейки столбца 19.
 
Ну хоть что-то стало проясняться ))
Код
Sub макрос2()
Dim LastRow As Long
    With Sheets("лист1")
        LastRow = .Cells(.Rows.Count, 19).End(xlUp).Row + 1
        If LastRow < 18 Then LastRow = 18
    '    Range("A1").Copy .Range(.Cells(18, 19), .Cells(LastRow, 19))
        .Cells(LastRow, 19) = Range("A1").Value
    End With
End Sub
А зачем конструкция With - End With, если работаем на активном листе?
 
Цитата
Юрий М написал:
А зачем конструкция With - End With, если работаем на активном листе?
Возможно будем и не на активном. Прямо как надо все работает. Благодарю вас за помощь.
Страницы: 1
Наверх