excel vba 代码问题 158

Sub三()Application.EnableEvents=FalseDimstr,s$,i%,cAsByte,rAsBytestr=Split("A,B",",")D... Sub 三()
Application.EnableEvents = False
Dim str, s$, i%, c As Byte, r As Byte
str = Split("A,B", ",")
Do Until Len(s) = 1
RE: i = Int(Rnd * 2)
If InStr(s, str(i)) = 0 Then
s = s & str(i)
Else: GoTo RE:
End If
Loop
Dim arr, brr(1 To 60), r1 As Byte, k As Byte
arr = [B2:K7]
r1 = 3
k = 17
For c = 1 To UBound(arr, 2)
For r = 1 To UBound(arr)
If arr(r, c) <> "" Then
Cells(r1, k).Value = s '(3,17)单元格有输出随机数
k = k + 1 '(3,18)我想在这里也输出随机数,可是现在
'GoTo oT04 还是在(3,17)里出来随机数。。。
End If
Next
Next
'oT04:
Application.EnableEvents = True
End Sub

看代码的注释。。。这个随机数我想要按顺序输出到(3,17)(3,18)……(3,76)
现在老是在(3,17)这个单元格里变化,请大神帮我看看代码有啥问题。
再看看我的随机数的代码有没有问题。
现在能单个输入了,但是咋就变得全部都是相同的内容了。。。
Dim arr, brr(1 To 60), k As Byte
arr = [B2:K7]
k = 1
For c = 1 To UBound(arr, 2)
For r = 1 To UBound(arr)
If arr(r, c) <> "" Then
If brr(k) = "" Then
brr(k) = s
End If
End If
k = k + 1
Next
Next
[Q3:BX3] = brr
展开
 我来答
huang1314wei
2018-07-18 · 知道合伙人软件行家
huang1314wei
知道合伙人软件行家
采纳数:1323 获赞数:5877
税畅核心工程师

向TA提问 私信TA
展开全部
你那个变量s是个固定值,所以全部是一样的
追问
请问怎么改写代码呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姓王的wy451

2018-07-19 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8810万
展开全部
你这个代码写得那个……,唉,没法改,你详细说说要求,重新帮你写
更多追问追答
追问

代码需求:1)dim arr=[B2:K7],for c = 2 to 11,for r = 2 to 7.

当arr(r,c)输入一个单元格内容的时候,[R3:BX3](红色那一行单元格)按顺序输入一个随机数。当arr(r,c)删除一个单元格内容的时候,[R3:BX3]也删除一个,大致就是这个意思。可以看看上边的代码的意思。全部百度分都加上去了。。

追答
你的意思是不是[B2:K7]这60个单元格对应[R3:BX3]这60个单元格,当B2:K7的数据变化时,对应单元格得到一个随机数,当B2:K7数据清除时,对应单元格的随机数也清除?
对应关系B2—R3,……,K7—BX3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式