ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 行业案例 > 其他行业 > 如何运用VBA统计遗漏数据

如何运用VBA统计遗漏数据

作者:绿色风 分类: 时间:2022-08-18 浏览:153
楼主
xmyjk
Q:如何运用VBA统计遗漏数据?

 
A:
  1. Option Explicit
  2. Sub t()
  3.     Dim d() As Dictionary, arr, brr, i&, j&, crr(), jg, m() As Long, k&
  4.     Columns("h:k").Clear
  5.     arr = [a1].CurrentRegion.Value
  6.     ReDim d(1 To UBound(arr, 2)) As Dictionary
  7.     ReDim crr(1 To UBound(arr, 2))
  8.     ReDim jg(1 To UBound(arr), 1 To 5)
  9.     ReDim m(1 To UBound(arr, 2))
  10.     For i = 1 To UBound(arr, 2)
  11.         Set d(i) = New Dictionary
  12.         crr(i) = jg
  13.     Next
  14.     For i = 1 To UBound(arr)
  15.         For j = 1 To UBound(arr, 2)
  16.             If Len(Trim(arr(i, j))) <> 0 Then
  17.                 If Not (d(j).exists(arr(i, j))) Then
  18.                     m(j) = m(j) + 1
  19.                     d(j)(arr(i, j)) = m(j)
  20.                     crr(j)(m(j), 1) = 0
  21.                     crr(j)(m(j), 2) = 0
  22.                     crr(j)(m(j), 3) = "ͳ¼Æ" & Chr(64 + j) & "ÁÐ"
  23.                     crr(j)(m(j), 4) = i
  24.                     crr(j)(m(j), 5) = 0
  25.                 Else
  26.                     crr(j)(d(j)(arr(i, j)), 5) = i - crr(j)(d(j)(arr(i, j)), 4) - 1
  27.                     crr(j)(d(j)(arr(i, j)), 1) = Application.Max(crr(j)(d(j)(arr(i, j)), 5), crr(j)(d(j)(arr(i, j)), 1))
  28.                     crr(j)(d(j)(arr(i, j)), 4) = i
  29.                 End If
  30.                 For k = 1 To m(j)
  31.                     crr(j)(k, 2) = i - crr(j)(k, 4)
  32.                 Next
  33.             End If
  34.         Next
  35.     Next
  36.     For i = 1 To UBound(m)
  37.        With [h65536].End(3)
  38.           .Offset(1, 1).Resize(m(i), 3) = crr(i)
  39.           .Offset(1).Resize(m(i), 1) = Application.Transpose(d(i).Keys)
  40.        End With
  41.     Next
  42. End Sub

统计遗漏.rar
2楼
开心E点
师 父真
3楼
icenotcool

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap