VBA解释这句什么意思,A(X) = 1代表什么2

VBA解释这句什么意思,A(X)=1代表什么SubTEST1()DimArr,X,A%(1To33),N%,B(1To33),i%,j&,k%ForEachXIn[J10... VBA解释这句什么意思,A(X) = 1代表什么

Sub TEST1()

Dim Arr, X, A%(1 To 33), N%, B(1 To 33), i%, j&, k%

For Each X In [J10:L10]

If X > 0 Then A(X) = 1: N = N + 1 '解释这句什么意思,A(X) = 1代表什么

Next '能不能用基本写法,重新写一次,看不懂这个
展开
 我来答
百度网友2264614
2017-02-07 · TA获得超过196个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:198万
展开全部
比如:J10=6,那么第一次FOR运算的时候,X→J10,
A(X)=A(6) . A(X)=1,就相当于给数组A(6)赋值为1
更多追问追答
追问

VBA看不懂代码请解释   最好能重新再写一次

++++1mi4pDd2       ++++前面添加下面图片这个




追答
ub TEST1()  '大神的代码很好,再改都没这么简洁的了
Dim Arr, X, A%(1 To 33), N%, B(1 To 33), i%, j&, k%
For Each X In [J10:L10]
    If X > 0 Then
        A(X) = 1
        N = N + 1
    End If
Next '这段意思是说,对你给定的黄字,赋值到数组中,比如给的数字是2,3,9,则A(2)、A(3)、A(9) = 1,其他A(i)=0。N是黄字的总数量
Arr = Range([C11], [C65536].End(3)(1, 6)) 'Arr代表你的数据区域A11:H39
For j = 1 To UBound(Arr) - 1
    X = 0
    
    For k = 1 To 6 ' Arr(j,k)代表Arr(数据区域)中的第j行的第k个数字,如果它是黄字中包含的,上面写了A(Arr(x,y))=1,否则为0
    X = X + A(Arr(j, k))
    Next '这个FOR循环结束后,X就是第j行包含黄字的数量
    
    If X = N Then '如果j行包含黄字的数量,和黄字总数量相同,才继续计算,否则就是不符合条件的。
    For i = 1 To 6
    B(Arr(j + 1, i)) = B(Arr(j + 1, i)) + 1
    Next    '这个For循环将j+1行中几个存在的数字,进行累计计数存到数组B()中。第j行符合条件了,j+1行第i个数:Arr(j+1,i)存到数组中。比如Arr(j+1,i)=8,则把B(8)原来累计次数+1
    End If
Next j
    [J12].Resize(1, 33) = B   'B(1)、B(2)……分别代表 1的跟随次数,2的跟随次数。   这句是将B数组横向粘贴到J12单元格上。
End Sub
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式