Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2379|回复: 3

[已解决]请老师或高手给看代码怎么修改

[复制链接]
发表于 2014-6-6 08:07 | 显示全部楼层 |阅读模式
P21中有   51 08 35 46 47 72 10 14 48 60
前三列(G21:I21)中有24 47 52    Q21运算结果为 “OK” 正确
中三列(J21:L21)中有54 24 22    R21运算结果为 “无” 正确
后三列(M21:O21)中有42 47 27    S21运算结果为 “无” 结果是错误的,有一个同数又同位的47,请老师高手们帮忙修改下代码,谢谢

全列.zip (41.03 KB, 下载次数: 17)
发表于 2014-6-6 08:43 | 显示全部楼层    本楼为最佳答案   
Sub CommandButton2_Click()
    Dim ARR, BRR, t$, i&, j&, k&, MaxRow&, MaxCol&, AR
    MaxRow = Cells(Rows.Count, "G").End(xlUp).Row
    MaxCol = Cells("18", Columns.Count).End(xlToLeft).Column
    ARR = Range("G18:O" & MaxRow)
    For n = 0 To MaxCol - 16 Step 4
        ReDim BRR(1 To UBound(ARR), 1 To 3)
        AR = Range("P18").Offset(0, n).Resize(UBound(ARR), 1)
        For i = 1 To UBound(ARR)
            t = AR(i, 1)
            For j = 1 To 3
                BRR(i, j) = "无"
                For k = 3 * j - 2 To 3 * j
                    If InStr(t, ARR(i, k)) > 0 Then BRR(i, j) = "OK": Exit For
                Next
            Next
        Next
        [Q18].Offset(0, n).Resize(UBound(BRR), 3) = BRR
    Next
End Sub

评分

参与人数 1 +3 收起 理由
dfzc + 3 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-6-6 08:47 | 显示全部楼层
别忘了,你原先是2数为一组,现在变成3数为一组!!
回复

使用道具 举报

 楼主| 发表于 2014-6-6 08:54 | 显示全部楼层
高手啊,谢谢指教,总算解决了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 16:48 , Processed in 0.345247 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表