Excel精英培训网

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

[已解决]Excel高手用VBA改写L列公式成VBA

[复制链接]
发表于 2016-3-26 22:27 | 显示全部楼层 |阅读模式
Excel高手用VBA改写L列公式成VBA
最佳答案
2016-3-27 14:14
Sub test()
    Dim A, B, i, j, k, x, y
    A = [j8:m14]
    B = Range("c8").CurrentRegion

    For k = 1 To UBound(A)
        A(k, 4) = 0
        For i = 2 To UBound(B)
            x = False
            For j = 1 To UBound(B, 2)
                If B(i, j) = A(k, 1) Then x = True: Exit For
            Next j

            y = False
            For j = 1 To UBound(B, 2)
                If B(i, j) = A(k, 2) Then y = True: Exit For
            Next j
            If x And y Then A(k, 4) = A(k, 4) + 1
        Next i
    Next k
    [m8:m14] = Application.Index(A, 0, 4)
End Sub

Excel高手用VBA改写L列公式成VBA.rar

9.23 KB, 下载次数: 20

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-3-26 23:48 | 显示全部楼层
回复

使用道具 举报

发表于 2016-3-27 14:14 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim A, B, i, j, k, x, y
    A = [j8:m14]
    B = Range("c8").CurrentRegion

    For k = 1 To UBound(A)
        A(k, 4) = 0
        For i = 2 To UBound(B)
            x = False
            For j = 1 To UBound(B, 2)
                If B(i, j) = A(k, 1) Then x = True: Exit For
            Next j

            y = False
            For j = 1 To UBound(B, 2)
                If B(i, j) = A(k, 2) Then y = True: Exit For
            Next j
            If x And y Then A(k, 4) = A(k, 4) + 1
        Next i
    Next k
    [m8:m14] = Application.Index(A, 0, 4)
End Sub

评分

参与人数 1 +6 收起 理由
vbyou127 + 6 来学习

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 05:56 , Processed in 0.330158 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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