Excel精英培训网

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

[已解决]求个vba

[复制链接]
发表于 2016-7-28 11:20 | 显示全部楼层 |阅读模式
本帖最后由 oplkj 于 2016-7-28 12:16 编辑

Book1.rar (81.82 KB, 下载次数: 10)
发表于 2016-7-28 12:02 | 显示全部楼层    本楼为最佳答案   
  1. Sub xx()
  2.     Dim i%, dA, dB, n&, k&
  3.     Set dA = CreateObject("Scripting.Dictionary")
  4.     Set dB = CreateObject("Scripting.Dictionary")
  5.     With Sheet1
  6.         n = .Cells(.Rows.Count, 6).End(xlUp).Row
  7.         k = .Cells(.Rows.Count, 8).End(xlUp).Row
  8.         For i = 5 To n
  9.             If Not dA.Exists(.Cells(i, 6).Value) Then
  10.                 dA.Add .Cells(i, 6).Value, 1
  11.             Else
  12.                 dA(.Cells(i, 6).Value) = dA(.Cells(i, 6).Value) + 1
  13.             End If
  14.         Next
  15.         For i = 5 To k
  16.             If Not dB.Exists(.Cells(i, 8).Value) Then
  17.                 dB(.Cells(i, 8).Value) = 1
  18.             Else
  19.                 dB(.Cells(i, 8).Value) = dB(.Cells(i, 8).Value) + 1
  20.             End If
  21.         Next
  22.         i = 0
  23.         For Each ke In dA.Keys
  24.             If dA(ke) < dB(ke) - 4 Then
  25.                 i = i + 1
  26.                 .Cells(i, 1) = ke
  27.             End If
  28.         Next
  29.     End With
  30. End Sub
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 10:33 , Processed in 0.281569 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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