Excel精英培训网

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

[已解决]怎么忽略空值

[复制链接]
发表于 2013-6-7 19:51 | 显示全部楼层 |阅读模式
怎么忽略空值?
最佳答案
2013-6-7 20:30
张雄友 发表于 2013-6-7 20:12
无法实现。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ar, i%, d As Object
Application.EnableEvents = False
If Target.Column = 1 Then
    Set d = CreateObject("scripting.dictionary")
    [b2].Resize(Cells(Rows.Count, 1).End(3).Row - 1, 2).ClearContents
    ar = Range("a2:C" & Cells(Rows.Count, 1).End(3).Row)
    For i = 1 To UBound(ar)
        If Not d.exists(ar(i, 1)) Then ar(i, 2) = ar(i, 1)
        d(ar(i, 1)) = d(ar(i, 1)) + 1
        ar(i, 3) = d(ar(i, 1))
    Next
    [a2].Resize(UBound(ar), 3) = ar
    Set d = Nothing
End If
Application.EnableEvents = True
End Sub

怎么忽略空值.zip

7.51 KB, 下载次数: 16

发表于 2013-6-7 19:57 | 显示全部楼层
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ar, i%, d As Object
If Target.Column = 1 Then
    Set d = CreateObject("scripting.dictionary")
    ar = Range("a2:a" & Cells(Rows.Count, 1).End(3).Row)
    For i = 1 To UBound(ar)
        If ar(i, 1) <> "" Then
            d(ar(i, 1)) = d(ar(i, 1)) + 1
        End If
    Next
    [b2].Resize(UBound(ar), 2).ClearContents
    [b2].Resize(d.Count) = Application.Transpose(d.keys)
    [c2].Resize(d.Count) = Application.Transpose(d.items)
    Set d = Nothing
End If
End Sub

评分

参与人数 1 +1 收起 理由
张雄友 + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2013-6-7 20:05 | 显示全部楼层
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ar, i%, d As Object
If Target.Column = 1 Then
    Set d = CreateObject("scripting.dictionary")
    ar = Range("a2:C" & Cells(Rows.Count, 1).End(3).Row - 1)
    For i = 1 To UBound(ar)
        If Not d.exists(ar(i, 1)) Then ar(i, 2) = ar(i, 1)
        d(ar(i, 1)) = d(ar(i, 1)) + 1
    Next
    [a2].Resize(UBound(ar), 3) = ar
    Set d = Nothing
End If
End Sub
回复

使用道具 举报

发表于 2013-6-7 20:06 | 显示全部楼层
帮你改好了,你现在试下看看 怎么忽略空值.rar (12.33 KB, 下载次数: 13)
回复

使用道具 举报

发表于 2013-6-7 20:06 | 显示全部楼层
这  
回复

使用道具 举报

发表于 2013-6-7 20:07 | 显示全部楼层
是               
回复

使用道具 举报

发表于 2013-6-7 20:07 | 显示全部楼层
什么啊?????????
回复

使用道具 举报

发表于 2013-6-7 20:08 | 显示全部楼层
老长老长的。。。。。。
回复

使用道具 举报

发表于 2013-6-7 20:09 | 显示全部楼层
看都看不懂啊。。。。。
回复

使用道具 举报

 楼主| 发表于 2013-6-7 20:12 | 显示全部楼层
1032446692 发表于 2013-6-7 20:05
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ar, i%, d As Object
If Target.Column = 1 T ...

无法实现。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 15:12 , Processed in 0.548820 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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