位置:首页 > 脚本相关 > VBA
VBA常用代码:使用ADODB功能,在不打开其他Excel的情况下获取所需的清单、数据
日期:2023-01-03 人气:

大家好,对VBA常用代码:使用ADODB功能,在不打开其他Excel的情况下获取所需的清单、数据感兴趣的小伙伴,下面一起跟随三零脚本的小编来看看VBA常用代码:使用ADODB功能,在不打开其他Excel的情况下获取所需的清单、数据的例子吧。

'来自:三零脚本(www.q3060.com)
Dim conn as New ADODB.Connection
'ADODB可以通过录制excel里的“数据”—“现有连接”来查找后台数据的方式来录制代码,但注意删减录制结果。

conn.open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\255.255.1.1\后台数据\数据表.xlsx; Extended Properties=""excel 12.0; HDR=YES"""
'\\255.255.1.1\后台数据\数据表.xlsx 表示在IP为255.255.1.1的服务器上查找“后台数据”文件夹中的“数据表”。若只为自用,则IP可相应改为C盘或D盘。 此功能极力推荐部门共用,由一人按一定周期更新后台文件,其他人使用此宏工具快速获取所需清单、所需查询的信息。

Range("A2").CopyFromRecordset conn.Execute("select 部门,姓名,年龄,性别 from [sheet1$]" where 工作经验>'5' and 在职状态=‘在职’ )
'指从后台Excel的Sheet1中获取工作经验大于5年、还在职的人员信息,所需要的信息为该人员所属的部门,姓名,年龄,性别。获取的清单粘贴在点击宏之前的活动工作表的A2为首的单元格内。此功能可以拓展为共享文件夹放置所有常用数据、信息,宏开发人员为各类匹配关系各写1个宏,这样部门同事可以一起使用宏来快速匹配想获取的信息。如:

Dim conn as New ADODB.Connection
conn.open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\255.255.1.1\后台数据\数据表.xlsx; Extended Properties=""excel 12.0; HDR=YES"""
Dim Startrow,Lastrow,Newcolumn,Startcolumn,i,j,k as Integer
    Startrow=Selection.Row   '确定要查询的信息开始的行数
    Startcolumn=Selection.Column   '确定要查询的信息所在的列数
    Lastrow=Cell(65536,Startcolumn).End(xlUp).Row  '确定要查询的信息结束的行数
    Newcolumn=Startcolumn+1    '查询结果准备返回在待查询信息的下一列
Selection.Offset(0,1).EntireColumn.Insert shift:=xlToRight, CopyOrigin:=xlFormatFromRightOrAbove '在查询的信息后插入1列,用于放置查询回来的信息

Dim info as string
Dim arr  'arr 为数组,本段代码将把后台的表格全复制下来,存到arr中,匹配信息时只要从arr里抓数据即可,避免每个单元格查询都要进后台数据查一遍造成的低效。使用arr能提升几十倍的运行速度
    arr=conn.Excute(select * from [sheet1$])  '将后台sheet1的信息全部复制到arr中
    j=UBound(arr,2)  '由于我们不知道后台数据表有多少行,使用此句代码即可将行数复制给j    
    For i=Startrow to Lastrow   '准备从第1个待查询的单元格查到最后1个
    info=Cells(i,Starcolumn) '将待查询值赋值给info
        For K= 0 to j
            if arr(2,k)=info Then  '指数组里的第3列中是否有和info相等的值,如果有的话
            Cells(i,Newcolumn)=arr(3,k)    '则在所查询的单元格的下一列填入数组里对应的第4列的值(数组从0开始计数,所以3为第4列。第X列为所需查找的信息由开发者根据实际自己调整)
            End if
        Next
    Next
conn.close   
以上代码可以适配任意信息查询功能

您可能感兴趣的文章