Excel マクロのループ処理の高速化
0 ,10 ,20 ,30 ,40 ,50 ,60 ,70 ,80 ,90 ,100 という11種類の数値が、1000個あります。
(1)1000個の数値を収めた列からC6:C20 に20 個無作為抽出し、コピーして E6:E20 にペーストします。
(2)このとき、C6:C20 には新たな数値が20 個無作為抽出されます。
(3)E6:E20 のデータを G6:Z6 にペーストする。
以上を1000回繰り返します(G6~G1005:Z6~Z1005)。1回実施してマクロ登録して、以下のように少し訂正して実施したのですが、高々1000個のデータなのに1分以上かかります。画面がちらついて計算の様子が表示されるので遅いのでしょうか? 高速化できる方法を教えてください。
Sub Macro1()
For N = 1 To 1000
Range("C6:C20").Select
Selection.Copy
Range("E6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Copy
RangeStr = "G" & CStr(N + 5) & ":" & "Z" & CStr(N + 5)
Range(RangeStr).Select 'N=1 ⇒ Range("G6:Z6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Next N
End Sub
補足
ご回答ありがとうございます。 数値データです。 n=10で十分である根拠はなんでしょうか?