Sub LOOKUP_UChur()
Dim i As Long '=== sourceWorksheet = 数据源表名称
Dim sourceWorksheet As Worksheet
Dim taskWorkSheet As Worksheet
Dim bgnTime, endTime As Date '*********************************************
' [1] ------ 数据源表 *** Sheet 名称
Set sourceWorksheet = ThisWorkbook.Worksheets("低保数据")
Const swsh_KeyColName = "B" ' 关键列 , 身份证号所在的列名称
Const swsh_BeginRow = ' 开始行号 ' [2] ------ 任务表 *** Sheet 名称
Set taskWorkSheet = ThisWorkbook.Worksheets("扶贫和低保比对")
Const twsh_KeyColName = "F" ' 关键列号 , 身份证号所在的列号
Const twsh_BeginRow = ' 开始行号 '*********************************************
bgnTime = Now()
Dim arrKeyData() As Variant ' 这种声明方式是声明一个动态数组
arrKeyData = sourceWorksheet.Range(swsh_KeyColName & swsh_BeginRow & ":" & swsh_KeyColName & sourceWorksheet.UsedRange.Rows.Count) For i = twsh_BeginRow To taskWorkSheet.UsedRange.Rows.Count
Debug.Print "第 ["; i & "]行: 已找到数据:" & taskWorkSheet.Range(twsh_KeyColName & i).Text
DoEvents curRow = GetRowNo(arrKeyData, taskWorkSheet.Range(twsh_KeyColName & i).Text)
If curRow > Then
'[3] ???? ===== 任务表 J --> 数据源 A
taskWorkSheet.Range("G" & i) = sourceWorksheet.Range("C" & swsh_BeginRow + (curRow - )).Text
End If
Next i endTime = Now()
MsgBox ("任务已完成, 处理所需的时间: " & Application.WorksheetFunction.Text(DateDiff("s", bgnTime, endTime) / / , "[H]:mm:ss") & " 秒 " & vbCrLf _
& "*****************************" & vbCrLf & bgnTime & vbCrLf & endTime) DoEvents End Sub Function GetRowNo(ByRef pArrKeyData As Variant, pFindValue As String) As Long GetRowNo =
' curRow = Application.Match(pFindValue, pArrKeyData, 0)
'-- Application.Match 所需的时间比较多 6 秒
'-- 下面的循环方式查找数组 所需的时间 2 秒 If Not (UBound(pArrKeyData) > ) Then Exit Function Dim j As Long
For j = LBound(pArrKeyData) To UBound(pArrKeyData)
If Not (IsError(pArrKeyData(j, ))) Then
If pArrKeyData(j, ) = pFindValue Then
GetRowNo = j
Exit Function
End If
End If Next j Exit Function End Function

Excel 信息对比_数组版的更多相关文章

  1. DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版

    前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务 ...

  2. DSAPI HTTP监听服务端与客户端_指令版

    前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务 ...

  3. yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并原数组信息---案例

    yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并元数组信息---案例 public function actionRandomLists(){ //查询到了所 ...

  4. JavaWeb_(session和application)用户登录注册模板_进阶版

    用户登录注册模板_基础版 传送门 用户登录注册模板进阶版 添加了获得获得当前登录用户信息及存储登录人数 用户登录后,在首页.注册页.登录页显示登录用户信息和存储登录人数信息 目录结构 <%@pa ...

  5. HDU 4287 Intelligent IME(字典树数组版)

    Intelligent IME Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. hdu 1277 AC自动机入门(指针版和数组版)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1277 推荐一篇博客(看思路就可以,实现用的是java): https://www.cnblogs.co ...

  7. Insert插入不同的列数量,统计信息对比

    一.实验目的: Insert插入表中相同的行数量,不同的列数量,通过10046 和autotrace工具对比查看逻辑读.物理读.time数据,并得出相应结论 二.测试 2.1测试流程: =>[为 ...

  8. php 数据集转换树、递归重组节点信息多维数组(转)

    一.将数据集转换成树 /** * 将返回的数据集转换成树 * @param array $list 数据集 * @param string $pk 主键 * @param string $pid 父节 ...

  9. 部分Web服务器信息对比

    本文参考wikipedia的Web服务器比较页面的数据,选取了其中自己感兴趣的Web服务器的信息进行了对比,包括,Apache HTTP Server.Apache Tomcat.Nginx.Catt ...

随机推荐

  1. Bulk Load-HBase数据导入最佳实践

    一.概述 HBase本身提供了非常多种数据导入的方式,通常有两种经常使用方式: 1.使用HBase提供的TableOutputFormat,原理是通过一个Mapreduce作业将数据导入HBase 2 ...

  2. mysql 插入 详解

    表创建好后,就可以往里插入记录了,插入记录的基本语法如下: INSERT INTO tablename (field1,field2,……fieldn) VALUES(value1,value2,…… ...

  3. unity5, import fbx注意事项

    一,模型尺寸. unity中是以米为单位,要想让3dmax中建的模型导入到unity中与unity自带的3d object尺寸一致,最直接的办法是将3dmax中的系统单位也设成米. 菜单->自定 ...

  4. 页面局部加载,适合Ajax Loading场景(Demo整理)

    效果图: 完整demo下载

  5. 揭开Altera公司支持OpenCL的设计工具的神秘面纱

    将程序中处理负荷较大的工作分配给加速器LSI的“异构计算(Heterogeneous Computing)”将踏出崭新的一步.美国Altera公司将于2013年内开始面向普通用户提供可自动由按照异构计 ...

  6. python核心编程——python对象

    一.什么是python对象 在python中,构造的不论什么类型的值都是一个对象.比方一个整数类型的值,一个字符串.一个列表等,都能够看做是对象. 全部的对象分为三部分: (1)身份.每一个对象都有个 ...

  7. mac 写NTFS磁盘

    最简单的方法就是把 OS X 自带的 mount_ntfs 默认加载方式从只读改成读写, 具体方法如下 # 用 root 身份做如下操作 (高危! 请切记自己在干什么)sudo -s cd /sbin ...

  8. 基于redis的分布式缓存disgear开源到github上了

    disgear是笔者参考solrcloud架构基于redis实现的分布式的缓存,支持数据切分到多台机器上,支持HA,支持读写分离和主节点失效自动选举,目前把它开放到github上,开放给大家 gith ...

  9. 一款基于jQuery的图片分组切换焦点图插件

    这是一款基于jQuery的图片切换焦点图插件,这款jQuery焦点图插件的特点是图片可以分组切换,也就是说一次可以切换多张图片,相比其他焦点图插件,它能节省更多的空间,可以向用户展示更多的图片,非常实 ...

  10. mysql数据库批量操作

    批量KILL会话: 1.首先,根据条件将查询到要kill的进程写入文件:如:desc information_schema.processlist; SELECT concat('KILL ',id, ...