急!!!求助VBA大神帮我看一下我的代码运行不了。

各位大神,我是VBA入门级菜鸟,我就是想从913条数据中随机选取其中60%,并复制到另外一张Sheet里。请大神帮我看一下为什么我的代码运行不成。系统提示,问题出在
n = Sheet2.Cells(n, "A").Value
这一行上。这是我的屏幕截屏,谢谢帮忙
下面是我自己的代码:

Option Explicit

Sub Random60()

Dim RndNumber, n, i, j, k, m, temp(547), Maxrec As Integer

n = Sheet2.Cells(n, "A").Value

Randomize (Timer)

Maxrec = 912

k = 0

Do While k < Maxrec * 0.6

RndNumber = Int((Maxrec * Rnd) + 1)

temp(k) = RndNumber

For i = 0 To k - 1

If temp(i) = RndNumber Then Exit For

Next i

If i = k Then k = i + 1

Loop

For n = 1 To 912

If n = RndNumber Then

Sheet2.Rows(n).CopySheet4.Rows (k + 1)

Next

End Sub

n = Sheet2.Cells(n, "A").Value,只是想将单元A列n行的值取出放到变量n中,然后这个n也再用。所以这行在程序中没有任何用处。
变量n也没有初始值,在后面的FOR语句循环中却重新进行了赋值。
所以我觉得此句可以删除。

n = Sheet2.Cells(n, "A").Value 这行代码没有什么用

不管n = Sheet2.Cells(n, "A").Value有没有用,首先n的初始值为0,cells(0,"A")是指A0单元格,excel中的单元格中没有此格,所以报错。如果不删这行还要忽略它,你在这行前面加一句 on error resume next 应该可以了。