weixin_38166612 2017-04-04 15:44 采纳率: 50%
浏览 1252
已结题

急!!!求助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

  • 写回答

3条回答 默认 最新

  • Hotolee 2017-06-22 00:44
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料