数据匹配之VBA

1. 什么是VBA?

Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。

VBA百度百科

2.应用场景

当一个重复的工作每天或者更高频率使用时,完全可以用一个程序实现自动化。
比如:我需要每天匹配不同地区不同工作的管理人员,数据量每天在10万+,每天谢公式匹配太耽误时间,所以考虑用VBA实现。
在这里插入图片描述
我的结果就是直接点击下识别那个按钮,就等待1分钟左右就可以在C列匹配对应的结果

3.代码

Public Sub 地区业态匹配()

    Dim yrr

    pt = "D:\日报制作\明细数据\0匹配主键\"

    fn = Dir(pt, 0)

    Do While Len(fn) > 0

        Debug.Print pt & fn

        '打开工作簿
        Workbooks.Open Filename:=pt & fn, UpdateLinks:=False

        If Left(fn, 4) = "业态地区" Then

            Workbooks(fn).Sheets("业态地区主键").Cells.AutoFilter

'            Workbooks(fn).Sheets("业态地区主键").Rows(1).Delete

            yrr = Sheets("业态地区主键").Range("A2:C" & Sheets("业态地区主键").Range("A650000").End(3).Row)

        End If

        '关闭工作簿,不保存更改
        Workbooks(fn).Close savechanges:=False

        fn = Dir()

    Loop

'    yrr = Sheets("业态地区主键").Range("A2:C" & Sheets("业态地区主键").Range("A650000").End(3).Row)


    Sheets(1).Select

    lsr = Range("A650000").End(3).Row

'===用【业态地区】主键匹配【人员】========================================================================

    For i = 2 To lsr

        For y = LBound(yrr) To UBound(yrr)

            yt_dq_y = yrr(y, 1) & yrr(y, 2)

            yt_dq_mx = Cells(i, 1) & Cells(i, 2)

            If yt_dq_y = yt_dq_mx Then

                Cells(i, 3) = yrr(y, 3)

            End If

        Next

    Next

    MsgBox "DONE"

End Sub

4.说明

1.VBA 可以实现的匹配不止可以精准,也可以匹配包含的内容.
2.这种匹配方式必须先建立一个标准的对应文件,然后才根据代码打开这个文件去完成匹配的操作.

希望大家交流指点!感谢!!!

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
大量数据匹配是指在一个包含大量数据数据库或数据集中,通过某种方式找到并匹配特定数据的过程。在VBA中,我们可以使用多种方法来实现大量数据匹配的快速处理。 首先,可以使用循环遍历的方法来匹配数据。通过使用For循环或While循环,我们可以逐行或逐个元素地比较数据,并找到匹配的结果。然而,这种方法在处理大量数据时可能效率较低,因为它需要耗费大量的时间和计算资源。 其次,可以使用VBA中的数组来进行大量数据匹配。我们可以将待匹配数据存储在数组中,然后使用循环遍历数组进行匹配。相比于循环遍历单个元素,使用数组可以减少循环的次数,从而提高匹配的速度。 另外,我们还可以使用VBA中的字典(Dictionary)对象进行大量数据匹配。字典是一种键值对的数据结构,可以存储多个键和对应的值。我们可以将待匹配数据作为字典的键,将对应的结果作为字典的值,然后使用字典的查找方法来获取匹配的结果。字典的查找速度非常快,特别适合处理大量数据匹配。 此外,我们还可以使用VBA中的数据库查询语言(SQL)来实现大量数据匹配。通过使用SQL查询语句,我们可以根据特定的条件从数据库中筛选和匹配数据,从而快速找到匹配的结果。 总而言之,要实现快速的大量数据匹配,我们可以使用VBA中的循环遍历、数组、字典和SQL等多种方法。选择合适的方法取决于具体的需求和数据结构,以确保匹配的效率和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值