application.worksheetfunction.vlookup和application.vlookup的区别

今天在练习VBA时,发现运用application.worksheetfunction.vlookup找不到值时会弹出错误窗口,application.vlookup却没有,只不过没找到的会返回NA,在网上查找原因。

原因:
application.vlookup是直接调工作表原始函数,没有经过中间方,当vlookup找不到结果时,就返回错误值。
Application.WorksheetFunction.VLookup是调工作表函数为了和VBA对接而封装后的函数,有一个中间方,当VLOOKUP返回错误值时,到中间方那里就挂了。

原文:https://club.excelhome.net/thread-1400670-1-1.html?_dsign=994aeca7

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel Application对象应用大全 [完美Excel]本文以MSDN中的技术文章《Developers Guide to the Excel 2007 Application Object》为线条,参考了一系列相关技术文章和图书资料,全面整理和总结了Application对象应用知识。 Application对象是Excel对象模型中最高层级的对象,代表Excel应用程序自身,也包含组成工作簿的许多部分,包括工作簿、工作表、单元格集合以及它们包含的数据。 Application对象包含: • 应用程序设置和选项,许多选项与“选项”对话框中的选项相同。 • 返回顶级对象的方法,例如ActiveCell、ActiveSheet,等等。 本文使用VBA代码示例简要介绍了与Application对象相关的经常使用的对象、方法和属性,其中一些成员能够改变用户与Excel应用程序交互的方式,还能够改变应用程序的外观和式样。熟悉Application对象能够让您扩展和调整Excel的功能,以满足自已的需求。 本文主要介绍的内容如下: 从Application对象中引用对象 Application对象相关的集合 • AddIns集合 • Columns集合和Rows集合 • Dialogs集合 • Sheets集合 Application对象相关的属性 • ActiveCell属性 • ActiveChart属性 • ActiveSheet属性 • ActiveWindow属性 • ActiveWorkbook属性 • RangeSelection属性 • ScreenUpdating属性 • Selection属性 • StatusBar属性 • ThisWorkbook属性 Application对象相关的方法 • FindFile方法和Dialogs集合 • GetOpenFilename方法 • GetSaveAsFilename方法 • InputBox方法 • Run方法 Application对象相关的事件 • 激活Application事件监视 使用Application对象执行其它任务 • 删除工作表而显示提示信息(DisplayAlerts属性) • 无须提示用户而保存工作表(DisplayAlerts属性) • 使用SendKeys方法发送信息到记事本 • 安排宏在指定的时间和间隔运行(OnTime方法Application对象的其它一些属性和方法 • Caller属性 • CutCopyMode属性 • Evaluate方法 • OnKey方法 • ThisCell属性 • WorksheetFunction属性 • 改变光标显示(Cursor属性) • 获取或改变Excel窗口的状态或大小(WindowState属性) • 获取系统信息 • 自动隐藏公式栏(DisplayFormulaBar属性) • 将Excel全屏显示(DisplayFullScreen属性) • 获取Excel启动文件夹的路径(StartupPath属性) • 检测Excel的版本(Version属性) • 打开最近使用过的文档(RecentFiles属性) • 文件对话框操作(FileDialog属性) • 改变Excel工作簿的名称(Caption属性) • 调用Windows的计算器(ActivateMicrosoftApp方法) • 暂时停止宏运行(Wait方法) • 重新计算工作簿(Calculate方法) • 控制函数重新计算(Volatile方法) • 获取重叠区域(Intersect方法) • 获取路径分隔符(PathSeparator属性) • 快速移至指定位置(Goto方法) • 关闭Excel(Quit方法
Table of Contents | Index Programming Excel with VBA and .NET Preface Part I: Learning VBA Chapter 1. Becoming an Excel Programmer Section 1.1. Why Program? Section 1.2. Record and Read Code Section 1.3. Change Recorded Code Section 1.4. Fix Misteakes Section 1.5. Start and Stop Section 1.6. View Results Section 1.7. Where's My Code? Section 1.8. Macros and Security Section 1.9. Write Bug-Free Code Section 1.10. Navigate Samples and Help Section 1.11. What You've Learned Chapter 2. Knowing the Basics Section 2.1. Parts of a Program Section 2.2. Classes and Modules Section 2.3. Procedures Section 2.4. Variables Section 2.5. Conditional Statements Section 2.6. Loops Section 2.7. Expressions Section 2.8. Exceptions Section 2.9. What You've Learned Chapter 3. Tasks in Visual Basic Section 3.1. Types of Tasks Section 3.2. Interact with Users Section 3.3. Do Math Section 3.4. Work with Text Section 3.5. Get Dates and Times Section 3.6. Read and Write Files Section 3.7. Check Results Section 3.8. Find Truth Section 3.9. Compare Bits Section 3.10. Run Other Applications Section 3.11. Control the Compiler Section 3.12. Not Covered Here Section 3.13. What You've Learned Chapter 4. Using Excel Objects Section 4.1. Objects and Their Members Section 4.2. Get Excel Objects Section 4.3. Get Objects from Collections Section 4.4. About Me and the Active Object Section 4.5. Find the Right Object Section 4.6. Common Members Section 4.7. Respond to Events in Excel Section 4.8. The Global Object Section 4.9. The WorksheetFunction Object Section 4.10. What You've Learned Chapter 5. Creating Your Own Objects Section 5.1. Modules Versus Classes Section 5.2. Add Methods Section 5.3. Create Properties Section 5.4. Define Enumerations Section 5.5. Raise Events Section 5.6. Collect Objects Section 5.7. Expose Objects Section 5.8. Destroy Objects Section 5.9. Things You Can't Do Section 5.10. What You've Learned Chapter 6. Writing Code for Use by Others Section 6.1. Types of Applications Section 6.2. The Development Process Section 6.3. Determine Requirements Section 6.4. Design Section 6.5. Implement and Test Section 6.6. Integrate Section 6.7. Test Platforms Section 6.8. Document Section 6.9. Deploy Section 6.10. What You've Learned Section 6.11. Resources Part II: Excel Objects Chapter 7. Controlling Excel Section 7.1. Perform Tasks Section 7.2. Control Excel Options Section 7.3. Get References Section 7.4. Application Members Section 7.5. AutoCorrect Members Section 7.6. AutoRecover Members Section 7.7. ErrorChecking Members Section 7.8. SpellingOptions Members Section 7.9. Window and Windows Members Section 7.10. Pane and Panes Members Chapter 8. Opening, Saving, and Sharing Workbooks Section 8.1. Add, Open, Save, and Close Section 8.2. Share Workbooks Section 8.3. Program with Shared Workbooks Section 8.4. Program with Shared Workspaces Section 8.5. Respond to Actions Section 8.6. Workbook and Workbooks Members Section 8.7. RecentFile and RecentFiles Members Chapter 9. Working with Worksheets and Ranges Section 9.1. Work with Worksheet Objects Section 9.2. Worksheets and Worksheet Members Section 9.3. Sheets Members Section 9.4. Work with Outlines Section 9.5. Outline Members Section 9.6. Work with Ranges Section 9.7. Range Members Section 9.8. Work with Scenario Objects Section 9.9. Scenario and Scenarios Members Section 9.10. Resources Chapter 10. Linking and Embedding Section 10.1. Add Comments Section 10.2. Use Hyperlinks Section 10.3. Link and Embed Objects Section 10.4. Speak Section 10.5. Comment and Comments Members Section 10.6. Hyperlink and Hyperlinks Members Section 10.7. OleObject and OleObjects Members Section 10.8. OLEFormat Members Section 10.9. Speech Members Section 10.10. UsedObjects Members Chapter 11. Printing and Publishing Section 11.1. Print and Preview Section 11.2. Control Paging Section 11.3. Change Printer Settings Section 11.4. Filter Ranges Section 11.5. Save and Display Views Section 11.6. Publish to the Web Section 11.7. AutoFilter Members Section 11.8. Filter and Filters Members Section 11.9. CustomView and CustomViews Members Section 11.10. HPageBreak, HPageBreaks, VPageBreak, VPageBreaks Members Section 11.11. PageSetup Members Section 11.12. Graphic Members Section 11.13. PublishObject and PublishObjects Members Section 11.14. WebOptions and DefaultWebOptions Members Chapter 12. Loading and Manipulating Data Section 12.1. Working with QueryTable Objects Section 12.2. QueryTable and QueryTables Members Section 12.3. Working with Parameter Objects Section 12.4. Parameter Members Section 12.5. Working with ADO and DAO Section 12.6. ADO Objects and Members Section 12.7. DAO Objects and Members Section 12.8. DAO.Database and DAO.Databases Members Section 12.9. DAO.Document and DAO.Documents Members Section 12.10. DAO.QueryDef and DAO.QueryDefs Members Section 12.11. DAO.Recordset and DAO.Recordsets Members Chapter 13. Analyzing Data with Pivot Tables Section 13.1. Quick Guide to Pivot Tables Section 13.2. Program Pivot Tables Section 13.3. PivotTable and PivotTables Members Section 13.4. PivotCache and PivotCaches Members Section 13.5. PivotField and PivotFields Members Section 13.6. CalculatedFields Members Section 13.7. CalculatedItems Members Section 13.8. PivotCell Members Section 13.9. PivotFormula and PivotFormulas Members Section 13.10. PivotItem and PivotItems Members Section 13.11. PivotItemList Members Section 13.12. PivotLayout Members Section 13.13. CubeField and CubeFields Members Section 13.14. CalculatedMember and CalculatedMembers Members Chapter 14. Sharing Data Using Lists Section 14.1. Use Lists Section 14.2. ListObject and ListObjects Members Section 14.3. ListRow and ListRows Members Section 14.4. ListColumn and ListColumns Members Section 14.5. ListDataFormat Members Section 14.6. Use the Lists Web Service Section 14.7. Lists Web Service Members Section 14.8. Resources Chapter 15. Working with XML Section 15.1. Understand XML Section 15.2. Save Workbooks as XML Section 15.3. Use XML Maps Section 15.4. Program with XML Maps Section 15.5. XmlMap and XmlMaps Members Section 15.6. XmlDataBinding Members Section 15.7. XmlNamespace and XmlNamespaces Members Section 15.8. XmlSchema and XmlSchemas Members Section 15.9. Get an XML Map from a List or Range Section 15.10. XPath Members Section 15.11. Resources Chapter 16. Charting Section 16.1. Navigate Chart Objects Section 16.2. Create Charts Quickly Section 16.3. Embed Charts Section 16.4. Create More Complex Charts Section 16.5. Choose Chart Type Section 16.6. Create Combo Charts Section 16.7. Add Titles and Labels Section 16.8. Plot a Series Section 16.9. Respond to Chart Events Section 16.10. Chart and Charts Members Section 16.11. ChartObject and ChartObjects Members Section 16.12. ChartGroup and ChartGroups Members Section 16.13. SeriesLines Members Section 16.14. Axes and Axis Members Section 16.15. DataTable Members Section 16.16. Series and SeriesCollection Members Section 16.17. Point and Points Members Chapter 17. Formatting Charts Section 17.1. Format Titles and Labels Section 17.2. Change Backgrounds and Fonts Section 17.3. Add Trendlines Section 17.4. Add Series Lines and Bars Section 17.5. ChartTitle, AxisTitle, and DisplayUnitLabel Members Section 17.6. DataLabel and DataLabels Members Section 17.7. LeaderLines Members Section 17.8. ChartArea Members Section 17.9. ChartFillFormat Members Section 17.10. ChartColorFormat Members Section 17.11. DropLines and HiLoLines Members Section 17.12. DownBars and UpBars Members Section 17.13. ErrorBars Members Section 17.14. Legend Members Section 17.15. LegendEntry and LegendEntries Members Section 17.16. LegendKey Members Section 17.17. Gridlines Members Section 17.18. TickLabels Members Section 17.19. Trendline and Trendlines Members Section 17.20. PlotArea Members Section 17.21. Floor Members Section 17.22. Walls Members Section 17.23. Corners Members Chapter 18. Drawing Graphics Section 18.1. Draw in Excel Section 18.2. Create Diagrams Section 18.3. Program with Drawing Objects Section 18.4. Program Diagrams Section 18.5. Shape, ShapeRange, and Shapes Members Section 18.6. Adjustments Members Section 18.7. CalloutFormat Members Section 18.8. ColorFormat Members Section 18.9. ConnectorFormat Members Section 18.10. ControlFormat Members Section 18.11. FillFormat Members Section 18.12. FreeFormBuilder Section 18.13. GroupShapes Members Section 18.14. LineFormat Members Section 18.15. LinkFormat Members Section 18.16. PictureFormat Members Section 18.17. ShadowFormat Section 18.18. ShapeNode and ShapeNodes Members Section 18.19. TextFrame Section 18.20. TextEffectFormat Section 18.21. ThreeDFormat Chapter 19. Adding Menus and Toolbars Section 19.1. About Excel Menus Section 19.2. Build a Top-Level Menu Section 19.3. Create a Menu in Code Section 19.4. Build Context Menus Section 19.5. Build a Toolbar Section 19.6. Create Toolbars in Code Section 19.7. CommandBar and CommandBars Members Section 19.8. CommandBarControl and CommandBarControls Members Section 19.9. CommandBarButton Members Section 19.10. CommandBarComboBox Members Section 19.11. CommandBarPopup Members Chapter 20. Building Dialog Boxes Section 20.1. Types of Dialogs Section 20.2. Create Data-Entry Forms Section 20.3. Design Your Own Forms Section 20.4. Use Controls on Worksheets Section 20.5. UserForm and Frame Members Section 20.6. Control and Controls Members Section 20.7. Font Members Section 20.8. CheckBox, OptionButton, ToggleButton Members Section 20.9. ComboBox Members Section 20.10. CommandButton Members Section 20.11. Image Members Section 20.12. Label Members Section 20.13. ListBox Members Section 20.14. MultiPage Members Section 20.15. Page Members Section 20.16. ScrollBar and SpinButton Members Section 20.17. TabStrip Members Section 20.18. TextBox and RefEdit Members Chapter 21. Sending and Receiving Workbooks Section 21.1. Send Mail Section 21.2. Work with Mail Items Section 21.3. Collect Review Comments Section 21.4. Route Workbooks Section 21.5. Read Mail Section 21.6. MsoEnvelope Members Section 21.7. MailItem Members Section 21.8. RoutingSlip Members Part III: Extending Excel Chapter 22. Building Add-ins Section 22.1. Types of Add-ins Section 22.2. Code-Only Add-ins Section 22.3. Visual Add-ins Section 22.4. Set Add-in Properties Section 22.5. Sign the Add-in Section 22.6. Distribute the Add-in Section 22.7. Work with Add-ins in Code Section 22.8. AddIn and AddIns Members Chapter 23. Integrating DLLs and COM Section 23.1. Use DLLs Section 23.2. Use COM Applications Chapter 24. Getting Data from the Web Section 24.1. Perform Web Queries Section 24.2. QueryTable and QueryTables Web Query Members Section 24.3. Use Web Services Section 24.4. Resources Chapter 25. Programming Excel with .NET Section 25.1. Approaches to Working with .NET Section 25.2. Create .NET Components for Excel Section 25.3. Use .NET Components in Excel Section 25.4. Use Excel as a Component in .NET Section 25.5. Create Excel Applications in .NET Section 25.6. Resources Chapter 26. Exploring Security in Depth Section 26.1. Security Layers Section 26.2. Understand Windows Security Section 26.3. Password-Protect and Encrypt Workbooks Section 26.4. Program with Passwords and Encryption Section 26.5. Workbook Password and Encryption Members Section 26.6. Excel Password Security Section 26.7. Protect Items in a Workbook Section 26.8. Program with Protection Section 26.9. Workbook Protection Members Section 26.10. Worksheet Protection Members Section 26.11. Chart Protection Members Section 26.12. Protection Members Section 26.13. AllowEditRange and AllowEditRanges Members Section 26.14. UserAccess and UserAccessList Members Section 26.15. Set Workbook Permissions Section 26.16. Program with Permissions Section 26.17. Permission and UserPermission Members Section 26.18. Add Digital Signatures Section 26.19. Set Macro Security Section 26.20. Set ActiveX Control Security Section 26.21. Distribute Security Settings Section 26.22. Using the Anti-Virus API Section 26.23. Common Tasks Section 26.24. Resources Part IV: Appendixes Appendix A. Reference Tables Section A.1. Dialogs Collection Constants Section A.2. Common Programmatic IDs Appendix B. Version Compatibility Section B.1. Summary of Version Changes Section B.2. Macintosh Compatibility About the Author Colophon Index
Option Explicit Private Sub CommandButton1_Click() Dim ar, br(), i&, j&, k&, m&, myFile$, myPath$, myStr$, Rng As Range, Wb, Ws, tms# Application.ScreenUpdating = False On Error Resume Next If Range("n3") = "" Then MsgBox "N列中没有要查询的内容": Exit Sub m = Range("n2").End(4).Row - 1 ar = Range("n2").Resize(m) ReDim br(65530, 5) With Application.FileDialog(msoFileDialogFolderPicker) If .Show Then myPath = .SelectedItems(1) Else myPath = ThisWorkbook.Path End With If Right(myPath, 1) <> "\" Then myPath = myPath & "\" tms = Timer myFile = Dir(myPath & "*.xls*") Do While myFile <> "" If myFile <> ThisWorkbook.Name Then br(k, 1) = Left(myFile, InStrRev(myFile, ".") - 1) Set Wb = GetObject(ThisWorkbook.Path & "\" & myFile) With Wb '利用GetObject在后台打开工作簿 For Each Ws In .Worksheets '循环当前工作簿中每个工作表 br(k, 2) = Ws.Name With Ws For i = 2 To m myStr = ar(i, 1) If WorksheetFunction.CountIf(.UsedRange, "*" & myStr & "*") <> 0 Then Set Rng = .UsedRange.Find(myStr) Do br(k, 3) = Rng.Address(0, 0) br(k, 4) = Rng.Text br(k, 5) = myStr br(k, 0) = k + 1 k = k + 1 br(k, 1) = br(k - 1, 1) br(k, 2) = br(k - 1, 2) Set Rng = .UsedRange.Find(myStr, Rng) Loop While .UsedRange.Find(myStr).Address <> Rng.Address End If Next End With Next Ws .Close False '不保存关闭工作簿 End With End If myFile = Dir Loop Set Wb = Nothing Range("a1").CurrentRegion.Offset(2) = "" myStr = "很遗憾、不存在你要搜索的内容。" If k Then Range("a3").Resize(k, 6) = br Range("a3").Resize(k, 6).Borders.LineStyle = 1 以下还有内容……见附件!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值