2016-09-15 4 views
0

Очень простой вопрос, но по какой-то причине у меня замерзли мозги. У меня есть отдельное значение в начале строки и вы хотите скопировать и вставить это значение в течение следующих 300 ячеек. Для аргументации давайте скажем «A: 1», а значение равно 1. Мы хотим видеть «A: 1» в «A: 301», полный единиц (или любое другое значение, которое мы выбираем) ... как мне это сделать это без цикла по каждой ячейке, такая петля будет:Вклеивание одного и того же значения быстро по строке

If Not IsEmpty(Sheets("Sheet1").Range("A1")) Then 
    Sheets("Sheet1").Range("A1").Copy 
    For k = 2 To 301 
    Sheets("Sheet1").Cells(1, k).PasteSpecial xlPasteValues 
    Next 
    Application.CutCopyMode = False 
    End If 

Если его только 300 клеток, может быть петля является приемлемой, но и для любого большего числа это становится слишком медленным. Пожалуйста помоги?!?!

Большое спасибо. не

ответ

1

Только одну строку:

Sheets("Sheet1").Range(Sheets("Sheet1").Cells(1, 2),Sheets("Sheet1").Cells(1, 301)).value = Sheets("Sheet1").Range("A1").Value 

Или вы можете использовать With блок и уменьшить количество нажатий клавиш:

With Sheets("Sheet1") 
    .Range(.Cells(1, 2),.Cells(1, 301)).value = .Range("A1").Value 
End With 
+0

Cheers босс. благодаря –

0

Нет необходимости для копирования и вставки - Range("A1:A300").Value = Range("A1").Value будет делать это

0

Возможно:

Sub dural() 
    With Sheets(1) 
     .Range("B1:KO1").Value = .Range("A1").Value 
    End With 
End Sub 
Смежные вопросы