首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在使用Find方法vba时出现错误运行时'91‘

在使用VBA的Find方法时出现错误运行时'91'通常是因为无法找到要查找的内容。这个错误通常发生在以下几种情况下:

  1. 查找的内容不存在:如果要查找的内容在目标范围内不存在,就会触发运行时'91'错误。在使用Find方法之前,应该确保要查找的内容确实存在。
  2. 没有正确设置目标范围:在使用Find方法之前,需要确保已经正确设置了目标范围。如果目标范围未设置或设置错误,就会触发运行时'91'错误。可以使用Range对象或Cells对象来设置目标范围。
  3. 没有设置查找参数:Find方法有一些可选的参数,如查找方向、查找格式等。如果没有正确设置这些参数,就可能导致无法找到要查找的内容,从而触发运行时'91'错误。在使用Find方法之前,应该确保已经正确设置了这些参数。

解决这个错误的方法包括:

  1. 检查要查找的内容是否存在于目标范围内。
  2. 确保正确设置了目标范围,可以使用Range对象或Cells对象来设置。
  3. 确保正确设置了查找参数,如查找方向、查找格式等。

以下是一个示例代码,演示了如何使用Find方法并避免出现运行时'91'错误:

代码语言:txt
复制
Sub FindExample()
    Dim rng As Range
    Dim searchValue As String
    Dim resultCell As Range
    
    ' 设置目标范围
    Set rng = Sheet1.Range("A1:A10")
    
    ' 设置要查找的内容
    searchValue = "apple"
    
    ' 在目标范围内查找内容
    Set resultCell = rng.Find(What:=searchValue, LookIn:=xlValues, LookAt:=xlWhole)
    
    ' 检查是否找到了内容
    If Not resultCell Is Nothing Then
        MsgBox "找到了:" & resultCell.Address
    Else
        MsgBox "未找到指定内容。"
    End If
End Sub

在这个示例中,我们首先设置了目标范围rng,然后设置了要查找的内容searchValue。接下来使用Find方法在目标范围内查找内容,并将结果存储在resultCell变量中。最后,我们检查resultCell是否为空来确定是否找到了内容,并显示相应的消息框。

请注意,这只是一个示例代码,实际使用时可能需要根据具体情况进行调整。另外,腾讯云并没有直接相关的产品或链接与VBA的Find方法相关。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA: 单元格区域基于指定列重新排序(2)

文章背景:在数据处理,有时需要根据指定列的内容进行重新排序。...比如样品测试,假设存在5个测试点,其中2号点和3号点无需测,在做报告,一般会保留2号点和3号点的位置,测试数据为空。 针对排序的步骤,可以通过VBA代码实现。...之前提到过一种方法,参见文末的延伸阅读。当数据条不多时,该方法运行时长还可以接受。当数据条有上百条,运行速度相对较慢。下面介绍另一种排序的方法。...代码实现:原有测试数据的基础上,根据“品号”列和给定的测试点数目(暂定91个),进行重新排序。...SAM21-123" & "-" & CStr(ii) '输入样品单号 With Columns(3) Set obj_range = .Find

81610

VBA: 单元格区域基于指定列重新排序(3)

文章背景:在数据处理,有时需要根据指定列的内容进行重新排序。...比如样品测试,假设存在5个测试点,其中2号点和3号点无需测,在做报告,一般会保留2号点和3号点的位置,测试数据为空。 针对排序的步骤,可以通过VBA代码实现。...之前提到过两种方法,参见文末的延伸阅读。当数据条不多时,这两种方法运行时长还可以接受。当数据条有上百条,运行耗时相对较长。下面借助字典和数组,介绍第三种排序的方法。...代码实现:原有测试数据的基础上,根据“品号”列和给定的测试点数目(暂定91个),进行重新排序。...6)).Value2 End With With ActiveSheet.Columns(3) Set obj_range = .Find

79740

【智能车】关于逐飞科技RT1021开源库使用Keil首次编译一个工程出现一个错误的问题

\scf\RT1021_nor_zf_ram_v.scf** 编译没有错误。 2.**目标工程 nor_zf_ram_v5 和 分散文件 ....\scf\RT1021_nor_zf_ram_v5.scf** 编译没有错误。 3.**目标工程 nor_zf_ram_v6和 分散文件 ....三、总结 一、问题描述 文末有开源库链接 昨晚,将逐飞科技RT1021开源库下载后,试着把里面的一个工程编译了一下,结果出现了一个错误:....问题出现在哪里呢?试了网上的所有方法,都不行。算了,我就随便在逐飞科技的智能车群里问了一下,今天早上有人回复我说: ? 二、问题解决 今天下午,按照他的说法,我就试了一下,果然就成功了!!!...可以发现 逐飞科技RT1021开源库每个example的工程里面包含两个目标工程,分别是nor_zf_ram_v5 和 nor_zf_ram_v6,我们需要使用的是 nor_zf_ram_v5,Linker

3.9K20

VBA专题10-20:使用VBA操控Excel界面之隐藏和取消隐藏控件、组和选项卡

可以启动(当Excel开启)动态设置值,可以在运行时改变它们的值(使元素无效后通过使用VBA回调过程)。...例如,下面的示例XML代码和在标准VBA模块中的代码在运行时满足某条件隐藏(和取消隐藏)“对齐方式”组: ? customUI元素包括带有Initialize回调过程的onLoad属性。...Custom UI Editor中保存该文件,首次Excel中打开,会出现关于Initialize和HideAlignmentGroup过程的错误消息提示,因为这两个过程仍然没有标准的VBA模块中找到...方法 '使用下面的语句使功能区无效 'myRibbon.Invalidate End Sub 当激活不同的工作表,执行SheetActivate事件处理。...与隐藏(和取消隐藏)内置组相似,可以在运行时当满足某条件动态地隐藏(和取消隐藏)内置选项卡。例如,运行时当满足某条件,下面的示例XML代码和VBA代码可以隐藏(和取消隐藏)“开始”选项卡: ?

7.7K20

Excel编程周末速成班第26课:处理运行时错误

学习Excel技术,关注微信公众号: excelperfect 主要内容: 理解运行时错误及其原因 如何在过程中启用错误捕获 使用Err对象 编写错误处理代码 延迟错误处理 使用错误作为编程工具 运行时错误程序运行时发生的错误...程序运行时发生的程序错误称为运行时错误,重要的是要理解运行时错误(或只是错误)与VBA程序中可能发生的其他两类问题之间的区别: bug是程序逻辑中的缺陷,会导致程序产生不正确的结果。...当发生错误并且程序不包含处理错误的代码,程序将停止并显示一个对话框,其中包含错误说明,如图26-1所示。通常无法从未处理的错误中恢复,这就是为什么它们如此讨厌的原因。...一些错误处理示例 处理VBA错误处理,有一些经验是很有价值的。为了向你提供一些处理错误的经验,本节提供了一些使用VBA错误处理功能的示例。...,你学习了如何使用VBA错误处理工具来处理运行时错误

6.7K30

Excel编程周末速成班第24课:调试和发布应用程序

如果处理不当,将有可能导致程序在其运行时中止。你可以第26课中了解有关处理运行时错误的信息。 相反,bug不会阻止程序运行。而是,它导致程序产生不正确的结果。...除了始终使用OptionExplicit外,还有以下准则可以帮助减少程序bugs: 如果你的程序包含很多代码,将其分成相对较小的过程。大型过程更容易出现bugs,并且发生bug更难修复。...尽管这种类型的变量似乎可以简化某些编程任务,但它们容易出现问题。几乎所有需要全局变量或公共变量的情况都可以使用过程参数和函数返回值进行处理。 必要,请确保对数字变量使用浮点数据类型。...可以使用多种方法使用监视表达式: 可以监视其值。VisualBasic“监视”窗口中显示表达式值(定义监视表达式,此窗口会自动打开)。每当程序进入中断模式,显示的值都会更新。...自我测评 1.运行时错误与程序错误有何不同? 2.如何在代码中设置断点? 3.逐语句执行命令和逐过程执行命令有什么区别? 4.描述两种中断模式下快速查看变量值的方法

5.7K10

Excel VBA解读(164):错误处理技术之On Error语句

学习Excel技术,关注微信公众号: Excelperfect 好的应用程序应该能够捕获错误并进行相应的处理,而不是VBA弹出的错误消息。正如上文提到的,有两种方法处理运行时错误。...对于可预见的错误,编写特定的代码来处理它们。对于不可预见的意外错误,则使用VBA错误处理语句来处理。 VBA中,On Error语句用于错误处理。当代码运行时发生错误时,该语句将执行相应操作。...发生错误时,VBA将在出现错误的行上停止运行并显示错误消息。此时,需要用户干预代码才能继续。在这种情况下不会发生错误处理。 让我们看一个例子。...,使用了0作为除数,因此在运行代码,将会出现如下图4所示的错误消息。...图4 发生错误时,会导致应用程序中止。如果应用程序已经提供给用户使用出现错误,这是非常不友好的。

7.7K20

VBA编程With语句

1).range("b2").font会显著增加代码输入量,不仅容易引发重复输入导致的错误,对象的频繁出现会降低代码的执行效率。...VBA 代码运行时间 上面提到with语句可以提高vba代码的执行效率,代码的执行效率是后期编写程序时需要注意的问题。...原理很简单,即首先把当前时间赋值给变量,作为初始时间,程序运行代码的最后,用当前时间减去初始时间得到的时间差,即是vba程序运行时间,代码如下: Sub test() Dim star As Double...语句的使用,减少代码中对象出现的频率就是优化代码运行效率的有效方式。...---- 本节主要介绍with语句的使用,可以简化代码并提高程序的运行效率。然后提及如何记录程序运行时间,字后期学习中也会说明哪些方法可以提高代码运行效率。

2.7K20

VBA代码调试

出错是很正常的,我们需要掌握找到出错的原因,去解决错误VBA编辑器里提供了一些方便的方法让我们去发现错误。 程序出错一般会有两种错误,编译错误运行时错误。...VBA虽然不是编译型的语言,但在VBA编辑器的菜单调试下面,有一个编译子菜单,写完了一段代码,可以先点击这个菜单去尝试编译,如果没有任何提示,说明代码没有编译错误。否则会出现编译错误: ?...出现这个错误后,编辑器能够定位到出错的地方,一般我们都能够很快发现这种错误,这是一种比较常见也非常容易解决的错误。...2、运行时错误 这种错误程序运行过程中才会出现错误,比如数组的下标越界,拼写错了对象的属性或者方法等: ?...3、逻辑错误 编译错误运行时错误,一般随着写代码熟练度的增加,错误的情况也会越来越少,而真正难的另外一种错误是: 对程序运行来说并不能说是错误,但是与设计程序的预期结果不一致,这种错误一般是写代码的一些逻辑上的出错

1.4K10

使用VBA复制文件:5个示例代码

标签:VBA,FileCopy方法 我们可以使用VBA来复制文件,这里介绍5个实现VBA复制文件的示例。...示例4:VBA复制之前检查文件是否存在 FileCopy命令将覆盖文件,而不会显示任何错误。因此,复制文件之前,最好先检查文件是否已经存在。 下面的代码检查目标位置中是否存在文件。...下面的代码构建在示例4的基础上,如果出现任何错误,也会显示一个错误消息框。..." End If On Error GoTo 0 End Sub 自动化复制文件可能会导致错误,下面是一些常见错误: 复制不存在的文件会触发错误运行时错误’53’:找不到文件。...将文件复制到锁定的文件位置(即另一个用户打开了该文件)会触发错误运行时错误‘0‘:权限被拒绝

2.9K50

Excel VBA解读(138): 自定义函数使用字节数组实现更快的字符串处理

学习Excel技术,关注微信公众号: excelperfect 字符串处理会使VBA变慢。...假设想要找到字符串中第一个大写字母的位置,可以使用数组公式: =MATCH(TRUE,ISERR(FIND(MID(A1,ROW($1:$255),1),LOWER(A1))),0) 如果有很多行,...所有的VBA字符串处理函数都有2个版本:不带后缀$使用变体参数的版本,和带有$后缀的只能处理字符串参数的版本,后者速度更快。 但是,也许使用LIKE还是慢?...将Byte数组与字符串一起使用VBA不为人知的秘密之一,当需要依次检查每个字符,它通常是处理字符串的一种有效方法。...,需要检查或操作很多单个字符使用字节数组是一个很好的解决方案。

2K20

错误捕获

VBA中,运行时错误发生的时候,会直接中断程序的运行,如果仅仅是程序的使用者,可能完全不会代码,那么出现这种中断程序的运行的状况,使用者就会不知所措了。...1、On Error语句: VBA里处理错误使用的是On Error语句: Sub TestErr() '出错的时候,程序跳转到标签ErrTest处 On Error GoTo ErrTest...上面程序的意思就是,On Error GoTo ErrTest语句之后,一旦代码出现错误,程序就会从出错的地方跳转到标签ErrTest,然后继续执行代码。...Resume Next 另外一种方法使用On Error Resume Next,这种方法会直接忽略掉错误语句,然后继续执行下一条语句,这个语句一定要慎用,一旦你程序的开始使用了这条语句,那么程序是不会再提示错误了的...,给使用出现运行时错误是不应该的,所以写程序的过程中,一定要非常严谨,尽量在所有的程序中都加上错误捕获的代码。

2.7K10

个人工作管理系统开发手记2:查找并获取相应的信息

标签:VBA,Excel公式,个人工作管理系统 今天有点空闲时间,正好完善自己的个人工作管理系统,主要完善的功能就是“说明”工作表中查找并将相应的内容输入到“目录”工作表中,以便直观地看出各分类的代表的意思...$B:$B),2) 这样,使用名称动态定义了单元格区域,当在其中增加数据,名称会自动扩展。 现在,我需要将其中的值获取到“目录”工作表中相应的分类下。 有很多种方法可以实现。...然而,如果分类未定义说明,则有可能出现错误,此时,可以使用IFERROR函数,如下图3所示。...图3 上述都是手动输入公式,其实,可以使用VBA来自动输入公式,其代码如下: Sub GetCatgoryInfo() Dim lLastRow As Long Dim startRow...Excel公式,可以使用VBAFind方法来实现,代码如下: Sub GetCategoryInfoBackup() Dim lLastRow As Long Dim startRow

67440

Excel VBA解读(163):错误处理技术之概述

Err.Number 错误编号。可以需要检查发生指定错误使用。 Err.Description 描述错误的文本。 Err.Source 使用Err.Raise填充。...VBA错误类型 VBA中,有3类错误: 1.语法错误 2.编译错误 3.运行时错误 使用错误处理来处理运行时错误。...语法错误 当一行代码输入完成后按下回车键VBA会评估其语法是否正确,如果不正确,将显示一条错误消息。 例如,输入If语句忘记了Then,VBA将显示下图1所示的错误消息。 ?...图2 在编写代码,我们可以经常运行菜单栏中的“调试—编译”命令,及早发现编译错误。如果菜单“调试”下的“编译”命令为灰色,表明代码不存在编译错误运行时错误 程序运行时会发生运行时错误。...这里需要说明的是,有一类错误,代码能够正常运行,但结果不符合要求,这是由于编写代码误输入造成的,例如本来应该是: result= a + b 结果代码输入成了: result= a * b 此外,使用错误处理过程之前

3.7K10

VBA专题10-21:使用VBA操控Excel界面之禁用和启用控件、组和选项卡

学习Excel技术,关注微信公众号: excelperfect 内置控件 通过分别使用enabled属性和getEnabled属性,可以设计时永久地或者在运行时动态地禁用(和启用)内置控件。...例如,下面的XML代码和VBA代码能够在运行时满足某条件使“加粗”和“下划线”控件禁用(和启用): image.png 注意,两个command元素的getEnabled属性都引用相同的getEnabledBU..." '由于Excel 2007没有InvalidateControlMso方法, '使用下面的语句使功能区无效 'myRibbon.Invalidate End Sub...自定义控件 通过使用getEnabled属性禁用(和启用)自定义控件的方法使用getVisible属性隐藏(和取消隐藏)自定义控件的方法相同。...Custom UI Editor中保存该文件,首次Excel中打开该文件,将会出现关于Initialize和GetEnabledAttnSh过程提示的错误消息,因为标准的VBA模块中仍然没有这两个回调过程

3.2K20

回复网友VBAFind_FindNext_并修改数据

回复网友VBAFind_FindNext_并修改数据 问题:有一个工作表如下 我们想查找到其中的的“哆哆”并修改为“测试” 【解决方法】 我们是先用Find查找再修改,再FindNext下一个,再修改...继续………… 【误区】 前面我有一个文章是查找并复制出来的数据 VBA多个文件中Find某字符的数据并复制出来 代码如下 WithMyObj.Worksheets(1)...程序是查找到数据并复制出来, Loop While Not cIs Nothing And c.Address firstAddress 当查找不到and查找到的数据的地址不等于第一个Address就继续查找..., 以上是可行的, 【问题来了】 但如果我们要查找后修改数据, 如果还用是以上的代码就会出现这样的错误 【问题原因】 那么当你把数据修改了以后查找不到数据后,查找不到数据了,就不能运行c.Address...这样会出错的 【问题解决】 此时我们可以修改代码为 Sub FindNext_修改() Dim c As Range With ActiveSheet Set c = .Cells.Find

62920

VBA: 隐藏模块中出现编译错误:的解决对策

文章背景: 最近发现有些办公电脑打开一些excel文件(xls格式),会弹出一个对话框,显示""隐藏模块中出现编译错误:"。...当代码与此应用程序的版本或体系结构不兼容(例如文档中的代码面向 32 位 Microsoft Office 应用程序,但它试图 64 位 Office 上运行),通常会发生此错误。...2 更新旧版本的VBA代码 对于 Office 2010 版本之前(VBA 版本 6 和更早版本)编写的 VBA 代码,需要修改为 64 位 Office 版本中运行,否则在 64 位平台上运行时会导致错误...只有 64 位版本的 Microsoft Office 中运行 VBA 代码,才需要修改 VBA 代码。...下面这种方法可以避开VBA工程的密码验证。具体步骤如下: (1)新建一个工作簿(xlsm格式)(记为工具文件),工作簿内新建一个模块。将以下代码复制到模块内。

11K10
领券