Excel精英培训网

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

[已解决]VBA数组计算一行左边含有右边多少个

[复制链接]
发表于 2017-5-29 20:27 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2017-5-30 08:22 编辑

VBA数组计算一行左边含有右边多少个



最佳答案
2017-5-30 03:21
这种找重复代码写过很多次,而且都是用数组写的。不光要看的懂,还要学会自己去写
  1. Sub aaa()
  2. Dim ar, br, i, n, m, s
  3. ar = Range("A11").CurrentRegion
  4. br = Range("H11").CurrentRegion
  5. For i = 1 To UBound(ar)
  6. s = 0
  7.     For n = 1 To UBound(ar, 2)
  8.         For m = 1 To UBound(br, 2)
  9.             If ar(i, n) = br(i, m) Then
  10.                 s = s + 1
  11.             End If
  12.         Next m
  13.     Next n
  14. Range("Q" & i + 10) = s
  15. Next i
  16. End Sub
复制代码


VBA数组计算一行左边含有右边多少个.png

VBA数组计算一行左边含有右边多少个.rar

6.82 KB, 下载次数: 9

发表于 2017-5-30 03:21 | 显示全部楼层    本楼为最佳答案   
这种找重复代码写过很多次,而且都是用数组写的。不光要看的懂,还要学会自己去写
  1. Sub aaa()
  2. Dim ar, br, i, n, m, s
  3. ar = Range("A11").CurrentRegion
  4. br = Range("H11").CurrentRegion
  5. For i = 1 To UBound(ar)
  6. s = 0
  7.     For n = 1 To UBound(ar, 2)
  8.         For m = 1 To UBound(br, 2)
  9.             If ar(i, n) = br(i, m) Then
  10.                 s = s + 1
  11.             End If
  12.         Next m
  13.     Next n
  14. Range("Q" & i + 10) = s
  15. Next i
  16. End Sub
复制代码


评分

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

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-5-30 08:26 | 显示全部楼层
france723 发表于 2017-5-30 03:21
这种找重复代码写过很多次,而且都是用数组写的。不光要看的懂,还要学会自己去写


这个代码不用index 如何改写吧

Sub test()
Dim a, b, c, d, e(1 To 5, 1 To 1), i%, j%, k%, m%
a = [a11].CurrentRegion
b = [h11].CurrentRegion
For i = 1 To 5
    m = 0
    c = Application.Transpose(Application.Index(b, i, 0))
    d = Application.Transpose(Application.Index(a, i, 0))
    For j = 1 To 6
        For k = 1 To 6
            If c(j, 1) = d(k, 1) Then m = m + 1
        Next
    Next
    e(i, 1) = m
Next
[q11].Resize(5, 1) = e
End Sub






这个代码不用index 如何改写吧.rar

7.78 KB, 下载次数: 2

回复

使用道具 举报

 楼主| 发表于 2017-5-30 08:27 | 显示全部楼层
france723 发表于 2017-5-30 03:21
这种找重复代码写过很多次,而且都是用数组写的。不光要看的懂,还要学会自己去写

你知道如何做吧
回复

使用道具 举报

 楼主| 发表于 2017-5-30 14:12 | 显示全部楼层
france723 发表于 2017-5-30 03:21
这种找重复代码写过很多次,而且都是用数组写的。不光要看的懂,还要学会自己去写


VBA数组不定位跟随错在哪里


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

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 11:08 , Processed in 0.930948 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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