Excel精英培训网

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

[已解决]如何给表中的0显示成计数数据

[复制链接]
发表于 2014-4-29 21:31 | 显示全部楼层 |阅读模式
本帖最后由 mmc998 于 2014-4-29 23:00 编辑

Book1.rar (62.52 KB, 下载次数: 17)
发表于 2014-4-29 21:41 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-4-29 21:45 | 显示全部楼层
c列d列填写了一部分数据 Book1.rar (54.98 KB, 下载次数: 9)
回复

使用道具 举报

发表于 2014-4-29 22:00 | 显示全部楼层
不知道猜的对不对
  1. Sub test()
  2.     For c = 3 To 30
  3.         For Each cel In Cells(4, c).Resize(9999).SpecialCells(xlCellTypeConstants, xlNumbers)
  4.             i = i + 1
  5.             cel.Value = i
  6.         Next
  7.         i = 0
  8.     Next
  9. End Sub
复制代码
回复

使用道具 举报

发表于 2014-4-29 22:06 | 显示全部楼层
c4右拉下拉:
  1. =IF($A4=C$2,COUNTIF($A$4:$A4,C$2),"")
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-4-29 22:18 | 显示全部楼层
Zipall 发表于 2014-4-29 22:00
不知道猜的对不对

能不能在我的原代码基础上修改,然后显示出正确的数据
回复

使用道具 举报

发表于 2014-4-29 22:25 | 显示全部楼层
本帖最后由 FnG 于 2014-4-29 22:29 编辑
mmc998 发表于 2014-4-29 22:18
能不能在我的原代码基础上修改,然后显示出正确的数据
我写完了才看到你的原代码,我的思路跟你的基本一样,就是定义的变量名称不一样而已。
  1. Sub test()
  2. Dim Arr1, Arr2, Arr3()
  3. Dim R%, Col%, Cot%
  4. Arr1 = [a4].CurrentRegion.Value
  5. Arr2 = [c2].CurrentRegion.Value
  6. ReDim Arr3(1 To UBound(Arr1), 1 To UBound(Arr2, 2))
  7. For Col = 1 To UBound(Arr2, 2)
  8.     Cot = 0
  9.     For R = 1 To UBound(Arr1)
  10.         If Cells(R + 3, 1) = Cells(2, Col + 2) Then
  11.             Cot = Cot + 1
  12.             Arr3(R, Col) = Cot
  13.         End If
  14.     Next
  15. Next
  16. [c4].Resize(UBound(Arr1), UBound(Arr2, 2)) = Arr3
  17. End Sub
复制代码
回复

使用道具 举报

发表于 2014-4-29 22:29 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Zipall 于 2014-4-29 22:35 编辑
mmc998 发表于 2014-4-29 22:18
能不能在我的原代码基础上修改,然后显示出正确的数据
  1. Sub test1()
  2.     Dim arr(), brr(), crr(), i&, j%, d%
  3.     arr = Range("A4").CurrentRegion.Value
  4.     brr = Range("C2").CurrentRegion.Value
  5.     ReDim crr(1 To UBound(arr), 1 To UBound(brr, 2))
  6.     For j = 1 To UBound(crr, 2)
  7.         For i = 1 To UBound(crr)
  8.             If arr(i, 1) = brr(1, j) Then
  9.                 d = d + 1
  10.                 crr(i, j) = d
  11.             End If
  12.         Next
  13.         d = 0
  14.     Next
  15.   Range("C4").Resize(UBound(crr), UBound(crr, 2)) = crr
  16. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
FnG + 3 我真笨,写了数组还用单元格引用,脑筋没转.

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 22:10 , Processed in 0.474834 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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