Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
123
返回列表 发新帖
楼主: ptguanyao1

根据关键词 调取

[复制链接]
发表于 2020-1-4 09:31 | 显示全部楼层
Option Explicit

Sub test()
    Dim A, d, i, x
    Application.ScreenUpdating = False
    Set d = CreateObject("scripting.dictionary")

    '1)写
    Sheets(2).Select
    A = Range("a1").CurrentRegion
    For i = 3 To UBound(A)
        x = A(i, 1) & "|" & A(i, 2)
        If A(i, 3) <> "" Then d(x) = A(i, 3)
    Next i

    '2)读
    Sheets(1).Select
    A = Range("a4").CurrentRegion
    For i = 2 To UBound(A)
        x = A(i, 1) & "|" & A(i, 2)
        If d.exists(x) Then A(i, 3) = d(x)
    Next i

    Range("a4").Resize(UBound(A), UBound(A, 2)) = A
End Sub


'从C列的总个数里,随机取10个
Function test2(str)
    Dim x, y, z, arr, brr(), i, t
    arr = VBA.Split(str, ",")
    x = LBound(arr): y = UBound(arr): z = IIf(y > 10, 10, y)
    ReDim brr(1 To z)

    For i = x To x + z - 1
        t = Int((y - i + 1) * Rnd) + i
        brr(i - x + 1) = arr(t)
        arr(t) = arr(i)
    Next i

    test2 = Join(brr, ",")
End Function
提取数据3.rar (16.56 KB, 下载次数: 6)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2020-1-4 10:22 | 显示全部楼层
爱疯 发表于 2020-1-3 20:22
手机回,没测试,如果还不行,上传失败附件,只能明天再看

非常感谢 可以了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 02:59 , Processed in 0.258242 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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