Excel精英培训网

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

[已解决]智能判断代码的请求?

[复制链接]
发表于 2010-5-31 12:05 | 显示全部楼层 |阅读模式
智能判断代码的请求
mym5wC98.rar (40.47 KB, 下载次数: 4)

5A0e0Wp0.rar

40.46 KB, 下载次数: 16

智能判断代码的请求

发表于 2010-5-31 13:02 | 显示全部楼层    本楼为最佳答案   

Sub 查找()
    Dim ArrYS, ArrJG1, i&, j%, strTZ$, k&
    ArrYS = Range("D2:Q" & Range("C65536").End(xlUp).Row)
    ReDim ArrJG1(1 To UBound(ArrYS), 1 To UBound(ArrYS, 2))
    For i = 1 To UBound(ArrYS)
        If Len(ArrYS(i, 1)) = 0 Then
            For k = i To UBound(ArrYS) - 1
                If Len(ArrYS(k + 1, 14)) = 0 Then
                    strTZ = ArrYS(k, 14)
                    Exit For
                End If
            Next
        Else
            For j = 1 To 14
                If ArrYS(i, j) = strTZ Then
                    ArrJG1(i, j) = strTZ
                End If
            Next
        End If
    Next
    Range("S2").Resize(UBound(ArrJG1), 14) = ArrJG1
End Sub
回复

使用道具 举报

 楼主| 发表于 2010-5-31 13:16 | 显示全部楼层

非常感谢!第一判断做的特别的绝,还有第二判断没有做?

第一判断有个小问题,最后一组的最后数据是空白,所以这组数据第一判断是空白,第二判断也同样是空白

[此贴子已经被作者于2010-5-31 13:26:33编辑过]
回复

使用道具 举报

发表于 2010-5-31 13:17 | 显示全部楼层

第二个月判断没看懂
回复

使用道具 举报

 楼主| 发表于 2010-5-31 13:35 | 显示全部楼层

每组数据与该组最后数据(黄色单元格)同时对等就显示(横竖坐标对等),AH:AU是第二判断显示结果(上面例子是:每组一平9行与每一组数据最后数据的坐标对等,3平10行,3平11行都与该组最后数据坐标对等,凭眼球看的,要求用VBA自动找出对等)
回复

使用道具 举报

发表于 2010-5-31 14:26 | 显示全部楼层

QUOTE:
以下是引用老鸭子在2010-5-31 13:35:00的发言:
每组数据与该组最后数据(黄色单元格)同时对等就显示(横竖坐标对等),AH:AU是第二判断显示结果(上面例子是:每组一平9行与每一组数据最后数据的坐标对等,3平10行,3平11行都与该组最后数据坐标对等,凭眼球看的,要求用VBA自动找出对等)

这个和第一个判断啥区别?还是没看明白。。。

第一个判断改进如下:

Sub 判断()
    Dim ArrYS, ArrJG1, i&, j%, strTZ$, k&
    ArrYS = Range("D2:Q" & Range("C65536").End(xlUp).Row)
    ReDim ArrJG1(1 To UBound(ArrYS), 1 To UBound(ArrYS, 2))
    For i = 1 To UBound(ArrYS)
        If Len(ArrYS(i, 1)) = 0 Then
            For k = i To UBound(ArrYS) - 1
                If Len(ArrYS(k + 1, 14)) = 0 Then
                    If k = UBound(ArrYS) - 1 Then
                        strTZ = ""
                        Exit For
                    End If
                    strTZ = ArrYS(k, 14)
                    Exit For
                End If
            Next
        Else
            For j = 1 To 14
                If ArrYS(i, j) = strTZ Then
                    ArrJG1(i, j) = strTZ
                End If
            Next
        End If
    Next
    Range("S2").Resize(UBound(ArrJG1), 14) = ArrJG1
End Sub

回复

使用道具 举报

 楼主| 发表于 2010-5-31 14:31 | 显示全部楼层

在每组数据同样的位置同时都与最后的数据对等,谢谢!呵呵

[此贴子已经被作者于2010-5-31 14:32:10编辑过]
回复

使用道具 举报

发表于 2010-5-31 14:53 | 显示全部楼层

还是没看懂。比如说2009139期为啥就写第一个金,这一期其他金为啥不写呢?
回复

使用道具 举报

 楼主| 发表于 2010-5-31 15:46 | 显示全部楼层

在每组数据同样的位置同时都与最后的数据对等

2009139期的一平金,是该组数据的一平9行与该组数据的最后数据对等

2009153期的一平火,是该组数据的一平9行与该组数据的最后数据对等

2010007期的一平火,是该组数据的一平9行与该组数据的最后数据对等

2010032期的一平金,是该组数据的一平9行与该组数据的最后数据对等

 

 

2009140期的一平金,是该组数据的三平10行与该组数据的最后数据对等

2009154期的一平火,是该组数据的三平10行与该组数据的最后数据对等

2010008期的一平火,是该组数据的三平10行与该组数据的最后数据对等

2010033期的一平金,是该组数据的三平10行与该组数据的最后数据对等

 

 

2009141期的一平金,是该组数据的三平11行与该组数据的最后数据对等

2009155期的一平火,是该组数据的三平11行与该组数据的最后数据对等

2010009期的一平火,是该组数据的三平11行与该组数据的最后数据对等

2010034期的一平金,是该组数据的三平11行与该组数据的最后数据对等

[此贴子已经被作者于2010-5-31 15:46:53编辑过]
回复

使用道具 举报

发表于 2010-5-31 15:48 | 显示全部楼层

...........
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 02:26 , Processed in 0.351055 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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