2016-09-15 3 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

ちょうどこの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

乾杯のボス。ありがとう –

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 
関連する問題