各位大神,我是VBA入门级菜鸟,我就是想简单的从913条数据中随机选取其中的80%,并复制到另外一张Sheet里。下面是我自己的代码:
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
Sheet.Rows(n).CopySheet4.Rows (k + 1)
Next
End Sub
但一直提示我,Next 没有For。可是明明是有的呀...
哪位大神能帮帮我,急。。。。
万谢!!!!
最后一个For循环改成:
For n = 1 To 912
If n = RndNumber Then Sheet.Rows(n).CopySheet4.Rows (k + 1)
Next
或者:
For n = 1 To 912
If n = RndNumber Then
Sheet.Rows(n).CopySheet4.Rows (k + 1)
End If
Next
另外,还可以在Then后面加一个下划线来解决
For n = 1 To 912
If n = RndNumber Then _
Sheet.Rows(n).CopySheet4.Rows (k + 1)
Next