ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2630|回复: 5

宏,vlookup函数

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-10-11 23:16 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我在excel录制了个宏,里面有个vlookup函数,一开始它还能自动运行,到后来,不知道为什么就没有了,但是vba里面有这个函数

TA的精华主题

TA的得分主题

发表于 2013-10-11 23:48 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-10-20 21:56 | 显示全部楼层
之皓1990 发表于 2013-10-11 23:48
上传附件 看看

不好意思,这段时间没登,才看见回复。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-10-20 21:58 | 显示全部楼层
joywwd 发表于 2013-10-20 21:56
不好意思,这段时间没登,才看见回复。

Sub Macro1()
'
' Macro1 Macro
' 宏由 王巍栋 录制,时间: 2013/10/19
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\joywwd\Desktop\开发软件\开户申请名单.txt", Destination:=Range("A1"))
        .Name = "开户申请名单"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = True
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 936
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileOtherDelimiter = "|"
        .TextFileColumnDataTypes = Array(1, 1, 1, 2, 2, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Sheets("Sheet2").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\joywwd\Desktop\开发软件\核查例1.txt", Destination:=Range("A1"))
        .Name = "核查例1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = True
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 936
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = True
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = True
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 2, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Range("J1").Select
    Windows("最新粘贴版.xls").Activate
    Sheets("Sheet2").Select
    Range("J1").Select
    Selection.Copy
    Windows("空表.xls").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("J1:J518")
    Range("J1:J518").Select
    ActiveWindow.ScrollRow = 2
    ActiveWindow.ScrollRow = 3
    ActiveWindow.ScrollRow = 6
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 61
    ActiveWindow.ScrollRow = 118
    ActiveWindow.ScrollRow = 156
    ActiveWindow.ScrollRow = 184
    ActiveWindow.ScrollRow = 207
    ActiveWindow.ScrollRow = 230
    ActiveWindow.ScrollRow = 242
    ActiveWindow.ScrollRow = 249
    ActiveWindow.ScrollRow = 259
    ActiveWindow.ScrollRow = 266
    ActiveWindow.ScrollRow = 278
    ActiveWindow.ScrollRow = 295
    ActiveWindow.ScrollRow = 327
    ActiveWindow.ScrollRow = 366
    ActiveWindow.ScrollRow = 394
    ActiveWindow.ScrollRow = 401
    ActiveWindow.ScrollRow = 406
    ActiveWindow.ScrollRow = 409
    ActiveWindow.ScrollRow = 412
    ActiveWindow.ScrollRow = 417
    ActiveWindow.ScrollRow = 421
    ActiveWindow.ScrollRow = 423
    ActiveWindow.ScrollRow = 427
    ActiveWindow.ScrollRow = 430
    ActiveWindow.ScrollRow = 433
    ActiveWindow.ScrollRow = 434
    ActiveWindow.ScrollRow = 435
    ActiveWindow.ScrollRow = 436
    ActiveWindow.ScrollRow = 437
    ActiveWindow.ScrollRow = 438
    ActiveWindow.ScrollRow = 439
    ActiveWindow.ScrollRow = 440
    ActiveWindow.ScrollRow = 441
    ActiveWindow.ScrollRow = 442
    ActiveWindow.ScrollRow = 443
    ActiveWindow.ScrollRow = 445
    ActiveWindow.ScrollRow = 447
    ActiveWindow.ScrollRow = 450
    ActiveWindow.ScrollRow = 455
    ActiveWindow.ScrollRow = 456
    ActiveWindow.ScrollRow = 457
    ActiveWindow.ScrollRow = 459
    ActiveWindow.ScrollRow = 463
    ActiveWindow.ScrollRow = 466
    ActiveWindow.ScrollRow = 470
    ActiveWindow.ScrollRow = 471
    ActiveWindow.ScrollRow = 474
    ActiveWindow.ScrollRow = 477
    ActiveWindow.ScrollRow = 478
    ActiveWindow.ScrollRow = 479
    ActiveWindow.ScrollRow = 480
    ActiveWindow.ScrollRow = 482
    ActiveWindow.ScrollRow = 483
    ActiveWindow.SmallScroll Down:=12
    Selection.AutoFill Destination:=Range("J1:J2170"), Type:=xlFillDefault
    Range("J1:J2170").Select
    ActiveWindow.ScrollRow = 2135
    ActiveWindow.ScrollRow = 2132
    ActiveWindow.ScrollRow = 2128
    ActiveWindow.ScrollRow = 2125
    ActiveWindow.ScrollRow = 2122
    ActiveWindow.ScrollRow = 2118
    ActiveWindow.ScrollRow = 2115
    ActiveWindow.ScrollRow = 2108
    ActiveWindow.ScrollRow = 2099
    ActiveWindow.ScrollRow = 2069
    ActiveWindow.ScrollRow = 2019
    ActiveWindow.ScrollRow = 1949
    ActiveWindow.ScrollRow = 1770
    ActiveWindow.ScrollRow = 1578
    ActiveWindow.ScrollRow = 1244
    ActiveWindow.ScrollRow = 1071
    ActiveWindow.ScrollRow = 949
    ActiveWindow.ScrollRow = 826
    ActiveWindow.ScrollRow = 770
    ActiveWindow.ScrollRow = 690
    ActiveWindow.ScrollRow = 644
    ActiveWindow.ScrollRow = 607
    ActiveWindow.ScrollRow = 578
    ActiveWindow.ScrollRow = 558
    ActiveWindow.ScrollRow = 535
    ActiveWindow.ScrollRow = 518
    ActiveWindow.ScrollRow = 511
    ActiveWindow.ScrollRow = 501
    ActiveWindow.ScrollRow = 488
    ActiveWindow.ScrollRow = 468
    ActiveWindow.ScrollRow = 402
    ActiveWindow.ScrollRow = 240
    ActiveWindow.ScrollRow = 51
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 1
    Range("H10").Select
    Sheets("Sheet1").Select
    ActiveWindow.SmallScroll Down:=-6
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "姓名"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "性别"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "证件"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "证件号"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "联系方式"
    Range("F1").Select
    ActiveCell.FormulaR1C1 = "有效期"
    Range("I1").Select
    Windows("最新粘贴版.xls").Activate
    Sheets("Sheet1").Select
    Range("I1:S2").Select
    Selection.Copy
    Windows("空表.xls").Activate
    ActiveSheet.Paste
    Range("I2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],[最新粘贴版.xls]Sheet2!C8:C10,3,0)"
    Selection.AutoFill Destination:=Range("I2:I8914"), Type:=xlFillDefault
    Range("I2:I8914").Select
    ActiveWindow.ScrollRow = 8865
    ActiveWindow.ScrollRow = 8851
    ActiveWindow.ScrollRow = 8824
    ActiveWindow.ScrollRow = 8727
    ActiveWindow.ScrollRow = 8314
    ActiveWindow.ScrollRow = 6880
    ActiveWindow.ScrollRow = 5405
    ActiveWindow.ScrollRow = 4454
    ActiveWindow.ScrollRow = 4109
    ActiveWindow.ScrollRow = 3861
    ActiveWindow.ScrollRow = 3627
    ActiveWindow.ScrollRow = 3406
    ActiveWindow.ScrollRow = 3282
    ActiveWindow.ScrollRow = 3020
    ActiveWindow.ScrollRow = 2358
    ActiveWindow.ScrollRow = 1848
    ActiveWindow.ScrollRow = 1338
    ActiveWindow.ScrollRow = 1063
    ActiveWindow.ScrollRow = 594
    ActiveWindow.ScrollRow = 166
    ActiveWindow.ScrollRow = 1
    Range("J2:S2").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    Selection.AutoFill Destination:=Range("J2:S8914")
    Range("J2:S8914").Select
    Range("R11").Select
    Columns("L:R").ColumnWidth = 0
    Columns("K:K").ColumnWidth = 0
    Range("I2").Select
    Selection.AutoFill Destination:=Range("I2:I8914")
    Range("I2:I8914").Select
    Columns("I:J").ColumnWidth = 0
    Columns("H:H").ColumnWidth = 8.25
    Columns("S:S").EntireColumn.AutoFit
    Range("T1:V1").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Merge
    ActiveCell.FormulaR1C1 = "#N/A代表证件号误或未核查"
    Range("S1").Select
    With Selection.Interior
        .ColorIndex = 33
        .Pattern = xlSolid
    End With
    Range("U9").Select
    ActiveWorkbook.RemovePersonalInformation = False
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-10-20 22:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
joywwd 发表于 2013-10-20 21:58
Sub Macro1()
'
' Macro1 Macro

批量开卡的自动匹配,但是更换数据后,最后一行显示 #REF!,不知道为什么最后一行vlookup不能自动生成,请指教。
我设计了一个外部数据导入,第一个导入数据为“开户表”,第二个为“核查例”,到放到附件里了。
数据我修改了一下,因为涉及别人隐私

Desktop.rar

507.31 KB, 下载次数: 18

批量匹配

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-10-20 22:26 | 显示全部楼层
导入数据,就成这样 最后一行 没有匹配  上面的可能是我修改数据的问题

结果图

结果图
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 09:42 , Processed in 0.045712 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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