Excel精英培训网

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

[已解决]修改下代码

[复制链接]
发表于 2014-3-26 20:05 | 显示全部楼层 |阅读模式
本帖最后由 bhgyuj123 于 2014-3-26 21:00 编辑

把 s(i) = 10 改成1到200里的尾数大于4的数
Sub 总30()
    On Error Resume Next
    Set d = CreateObject("scripting.dictionary")
    For Each Rn In Range("B3:D5000")
        If Not d.exists(Rn.Value) Then
            d.Add Rn.Value, 1
        Else
            d(Rn.Value) = d(Rn.Value) + 1
        End If
    Next
    k = d.keys
    s = d.Items
    ReDim arr(1 To UBound(s) + 1)
    For i = 0 To UBound(s)
        If s(i) = 10 Then
            t = t + 1
            arr(t) = k(i) * 1
        End If
    Next
    ReDim m(1 To t)
    For i = 1 To t
        m(i) = Format(Application.Small(arr, i), "000")
    Next i
    Range("A2").Resize(t, 1) = Application.Transpose(m)
End Sub
最佳答案
2014-3-26 20:25
IF 改用以下条件即可:
  1. IF s(i)>=1 and s(i)<=200 and (s(i) mod 10)>4 then
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-3-26 20:25 | 显示全部楼层    本楼为最佳答案   
IF 改用以下条件即可:
  1. IF s(i)>=1 and s(i)<=200 and (s(i) mod 10)>4 then
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-3-26 20:41 | 显示全部楼层
CheryBTL 发表于 2014-3-26 20:25
IF 改用以下条件即可:

如果1到200的条件不要,if (s(i) mod 10)>4 then 是这样吗

点评

是的,楼主也可以自己测试下  发表于 2014-3-26 21:47
回复

使用道具 举报

发表于 2014-3-26 22:05 | 显示全部楼层
找个地儿学习~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 15:44 , Processed in 0.335439 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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