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

各位大神,我是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

vba

2个回答

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问