Excel精英培训网

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

[已解决]VBA改写两个数不能在同一行总次数

[复制链接]
发表于 2017-5-23 23:12 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2017-5-24 13:25 编辑

VBA改写两个数不能在同一行总次数
最佳答案
2017-5-24 09:08
代码请测试。
顺便说一下,你原来的代码是错的,你可以在源数据里挑一行输入两个1,运行看下结果就明白了。
  1. Sub aaa()
  2. Dim arr, i&, brr, j&, m&, n1&, n2&
  3. Sheet1.Activate
  4. [l10:l5000].ClearContents
  5. arr = [a9].CurrentRegion
  6. brr = [p9].CurrentRegion
  7. For i = 2 To UBound(brr)
  8. m = 0
  9. For x = 2 To UBound(arr)
  10. n1 = 0: n2 = 0
  11. For j = 3 To UBound(arr, 2)
  12. If arr(x, j) = brr(i, 1) Then n1 =  1
  13. If arr(x, j) = brr(i, 2) Then n2 =  1
  14. Next
  15. If n1 + n2 = 2 Then m = m + 1
  16. Next
  17. brr(i, 3) = UBound(arr) - 1 - m
  18. Next
  19. [p9].CurrentRegion = brr

  20. End Sub
复制代码

VBA改写两个数不能在同一行总次数.rar

9.19 KB, 下载次数: 10

发表于 2017-5-24 09:08 | 显示全部楼层    本楼为最佳答案   
代码请测试。
顺便说一下,你原来的代码是错的,你可以在源数据里挑一行输入两个1,运行看下结果就明白了。
  1. Sub aaa()
  2. Dim arr, i&, brr, j&, m&, n1&, n2&
  3. Sheet1.Activate
  4. [l10:l5000].ClearContents
  5. arr = [a9].CurrentRegion
  6. brr = [p9].CurrentRegion
  7. For i = 2 To UBound(brr)
  8. m = 0
  9. For x = 2 To UBound(arr)
  10. n1 = 0: n2 = 0
  11. For j = 3 To UBound(arr, 2)
  12. If arr(x, j) = brr(i, 1) Then n1 =  1
  13. If arr(x, j) = brr(i, 2) Then n2 =  1
  14. Next
  15. If n1 + n2 = 2 Then m = m + 1
  16. Next
  17. brr(i, 3) = UBound(arr) - 1 - m
  18. Next
  19. [p9].CurrentRegion = brr

  20. End Sub
复制代码

评分

参与人数 1 +9 收起 理由
laoau138 + 9 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-5-24 13:23 | 显示全部楼层
大灰狼1976 发表于 2017-5-24 09:08
代码请测试。
顺便说一下,你原来的代码是错的,你可以在源数据里挑一行输入两个1,运行看下结果就明白了 ...

代码没有错,你说的情况不存在,没有相同数字了
回复

使用道具 举报

 楼主| 发表于 2017-5-24 13:24 | 显示全部楼层
所以这个没有错
回复

使用道具 举报

发表于 2017-5-24 13:45 | 显示全部楼层

是我表达有问题,应该不是有错,而是不严谨。
回复

使用道具 举报

 楼主| 发表于 2017-5-24 14:41 | 显示全部楼层
大灰狼1976 发表于 2017-5-24 09:08
代码请测试。
顺便说一下,你原来的代码是错的,你可以在源数据里挑一行输入两个1,运行看下结果就明白了 ...

用VBA数组for each   行与行循环比较几个数字


http://www.excelpx.com/thread-430503-1-1.html

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-17 06:09 , Processed in 0.452897 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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