Excel精英培训网

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

[已解决]请VBA大神帮忙

[复制链接]
发表于 2015-6-9 18:39 | 显示全部楼层 |阅读模式
如果图1中的"phonetype"字段能在图2中的”typeid"字段中找到,并且图1中对应phonetype行的uploaddate 大于 在图2中找到对应typeid对应的免解时间,那么 图1中的“是否需要解锁”列对应的行为“不需要” ,否则为空
在些先多谢好心的老师帮忙!
附件中带了我自己写的宏,但结果并不是我想要的结果
最佳答案
2015-6-9 21:42
本帖最后由 冥王 于 2015-6-10 10:45 编辑

Sub demo()
    Dim d As Object
    Dim arr, brr, i%, j%, crr(1 To 30000, 1 To 1)
    Set d = CreateObject("scripting.dictionary")
    With ThisWorkbook
        arr = .Sheets(1).Range("A1").CurrentRegion
        brr = .Sheets(2).Range("A1").CurrentRegion
        For i = LBound(brr, 1) + 1 To UBound(brr, 1)
            d(brr(i, 4)) = brr(i, 1)
        Next
        For j = LBound(arr, 1) + 1 To UBound(arr, 1)
            If d(arr(j, 2)) <> "" And arr(j, 1) > d(arr(j, 2)) Then
                crr(j - 1, 1) = "不需要"
            Else
                crr(j - 1, 1) = ""
            End If
        Next
        .Sheets(1).Cells(2, "L").Resize(UBound(arr, 1) - 1, 1) = crr
    End With
End Sub
2.png

图1

图1

工作簿1.zip

485.9 KB, 下载次数: 18

附件

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-6-9 21:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 冥王 于 2015-6-10 10:45 编辑

Sub demo()
    Dim d As Object
    Dim arr, brr, i%, j%, crr(1 To 30000, 1 To 1)
    Set d = CreateObject("scripting.dictionary")
    With ThisWorkbook
        arr = .Sheets(1).Range("A1").CurrentRegion
        brr = .Sheets(2).Range("A1").CurrentRegion
        For i = LBound(brr, 1) + 1 To UBound(brr, 1)
            d(brr(i, 4)) = brr(i, 1)
        Next
        For j = LBound(arr, 1) + 1 To UBound(arr, 1)
            If d(arr(j, 2)) <> "" And arr(j, 1) > d(arr(j, 2)) Then
                crr(j - 1, 1) = "不需要"
            Else
                crr(j - 1, 1) = ""
            End If
        Next
        .Sheets(1).Cells(2, "L").Resize(UBound(arr, 1) - 1, 1) = crr
    End With
End Sub
回复

使用道具 举报

 楼主| 发表于 2015-6-10 09:59 | 显示全部楼层
冥王 发表于 2015-6-9 21:42

老师,这代码执行出来没结果啊

点评

结果写到L列相应位置,看2楼红色那里  发表于 2015-6-10 10:46
回复

使用道具 举报

 楼主| 发表于 2015-6-10 11:50 | 显示全部楼层
gjbily 发表于 2015-6-10 09:59
老师,这代码执行出来没结果啊

这回可以了,非常感谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 15:36 , Processed in 0.273656 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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