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

为什么cells.find会为长度超过1个字符的搜索字符串抛出运行时错误91?

cells.find会为长度超过1个字符的搜索字符串抛出运行时错误91的原因是因为在VBA中,cells.find方法的第一个参数是要搜索的字符串,而第二个参数是可选的搜索范围。当搜索字符串的长度超过1个字符时,如果没有指定搜索范围,cells.find方法会默认搜索整个工作表。然而,如果工作表中没有找到匹配的字符串,cells.find方法会返回一个空值,而不是一个有效的单元格对象。因此,当尝试在一个空值上调用属性或方法时,就会抛出运行时错误91。

为了避免这个错误,可以在调用cells.find方法之前先检查是否找到了匹配的单元格。可以使用Is Nothing函数来检查cells.find方法的返回值是否为空。如果为空,则表示没有找到匹配的单元格,可以采取相应的处理措施,例如给出错误提示或执行其他操作。

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

代码语言:txt
复制
Dim searchValue As String
Dim searchRange As Range
Dim resultCell As Range

searchValue = "abc" ' 要搜索的字符串
Set searchRange = ActiveSheet.Range("A1:A10") ' 搜索范围

Set resultCell = searchRange.Find(searchValue) ' 查找匹配的单元格

If Not resultCell Is Nothing Then
    ' 找到了匹配的单元格
    ' 在这里执行相应的操作
    MsgBox "找到了匹配的单元格:" & resultCell.Address
Else
    ' 没有找到匹配的单元格
    ' 在这里执行相应的操作
    MsgBox "没有找到匹配的单元格。"
End If

在腾讯云的产品中,可以使用腾讯云的云服务器(CVM)来进行云计算相关的开发和运维工作。腾讯云的云服务器提供了高性能、可靠稳定的计算资源,可以满足各种规模和需求的应用场景。您可以通过以下链接了解更多关于腾讯云云服务器的信息:

腾讯云云服务器产品介绍:https://cloud.tencent.com/product/cvm

希望以上信息能够对您有所帮助!

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

相关·内容

几种常见的Runtime Exception

异常处理的流程: ① 遇到错误,方法立即结束,并不返回一个值;同时,抛出一个异常对象 。 ② 调用该方法的程序也不会继续执行下去,而是搜索一个可以处理该异常的异常处理器,并执行其中的代码 。...③ 为什么抛出的异常一定是已检查异常? RuntimeException与Error可以在任何代码中产生,它们不需要由程序员显示的抛出,一旦出现错误,那么相应的异常会被自动抛出。...③ 异常对象通常有两种构造函数:一种是无参数的构造函数;另一种是带一个字符串的构造函数,这个字符串将作为这个异常对象除了类型名以外的额外说明。...③ 异常对象中包含的信息 :一般情况下,异常对象唯一有用的信息就是类型信息。但使用异常带字符串的构造函数时,这个字符串还可以作为额外的信息。...java.lang.StringIndexOutOfBoundsException 字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。

1.2K20

RuntimeException和非RuntimeException的区别「建议收藏」

异常处理的流程: ① 遇到错误,方法立即结束,并不返回一个值;同时,抛出一个异常对象 。 ② 调用该方法的程序也不会继续执行下去,而是搜索一个可以处理该异常的异常处理器,并执行其中的代码 。...(在编译时出现的错误并不是异常,换句话说,异常就是为了解决程序运行时出现的的错误)。...③ 为什么抛出的异常一定是已检查异常? RuntimeException与Error可以在任何代码中产生,它们不需要由程序员显示的抛出,一旦出现错误,那么相应的异常会被自动抛出。...③ 异常对象通常有两种构造函数:一种是无参数的构造函数;另一种是带一个字符串的构造函数,这个字符串将作为这个异常对象除了类型名以外的额外说明。...③ 异常对象中包含的信息 :一般情况下,异常对象唯一有用的信息就是类型信息。但使用异常带字符串的构造函数时,这个字符串还可以作为额外的信息。

2.7K10
  • SQL 中的高级字符处理函数

    分享几个高级的字符处理函数 CHARINDEX 作用 会在第二个字符表达式中搜索一个字符表达式,这将返回第一个表达式(如果发现存在)的开始位置。...语法 CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) 注:这是一个常用的字符搜索函数,起始下标是1,不是...它从第一个字符串的开始位置删除指定长度的字符;然后将第二个字符串插入到第一个字符串的开始位置。...语法 STUFF ( character_expression , start , length , replaceWith_expression ) 注意 如果开始位置或长度值是负数,或者开始位置大于第一个字符串的长度...如果要删除的长度大于第一个字符串的长度,则删除到第一个字符串中的第一个字符。 如果结果值大于返回类型支持的最大值,则会引发错误。

    6810

    String最大长度是多少?涉及知识面太多,不要错过!

    但此时,如果你声明一个长度为10万的字符串,你会发现编译器会抛出异常,提示信息如下: 错误: 常量字符串过长 不是说好的21亿吗?怎么10万个就异常了呢?其实这个异常是由编译期的限制决定的。...到这里,已经得出了第二个限制,也就是Class文件中常量池的格式规定了,其字符串常量的长度不能超过65535。...此时,如果尝试通过字面量声明一个65535长度的字符串: String s = "8888...8888";//其中有65535万个字符"8" 编译器还会抛出同样的异常。这又是为什么呢?...此时的计算与前面的算法一致,这里先转换为bit,然后再转换为GB: (2^31-1)*16/8/1024/1024/1024 = 4GB 也就是说,运行时理论上可以支持4GB大小的字符串,超过这个限制就会抛出异常的...小结 通过上述的分析,可以得出结论:第一,在编译期字符串的长度不能超过65534;第二,在运行期,字符串的长度不能超过2^31-1,占用内存(4GB)不能超过虚拟机所分配的最大内存。

    1.8K10

    Java面向对象进阶

    常用方法: System.out.println(str.length()); //length方法可以求字符串长度,这个长度是字符的数量 //双引号括起来的字符串本身就是一个实例对象 System.out.println...,错误比异常更严重:比如OutOfMemoryError就是内存溢出错误 自定义异常 异常其实就两大类,一个是编译时异常,一个是运行时异常 编译时异常只需要继承Exception就行了 运行时异常只需要继承...return a / b; } 异常对象携带了我们抛出异常时的一些信息,比如是因为什么原因导致的异常,在RuntimeException的构造方法中我们可以写入原因 如果我们在方法中抛出了一个非运行时异常...; } 如果某个方法明确指出会抛出哪些异常,除非抛出的异常是一个运行时异常,否则我们必须要使用try-catch语句块进行异常的捕获,不然就无法通过编译 如果我们确实不想在当前这个方法中进行处理,那么我们可以抛给上一级...false,将抛出AssertionError错误。

    19930

    了解了这些,轻松拿offer——Java面试之道

    GC是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java...的,如果想得到字符串长度,则可以使用length()方法。...字符串池的实现可以在运行时节约很多堆空间,因为不同的字符串变量都指向池中的同一个字符串。...因为字符串是不可变的,所以它的值是不可改变的,否则黑客们可以钻到空子,改变字符串指向的对象的值,造成安全漏洞。 因为字符串是不可变的,所以是多线程安全的,同一个字符串实例可以被多个线程共享。...运行时异常如果在函数内被抛出,在函数上不需要声明。 不声明的原因:不需要调用者处理,运行时异常发生,已经无法再让程序继续运行,所以,不让调用处理的,直接让程序停止,由调用者对代码进行修正。

    41820

    给PHP开发者讲讲PHP源码-第二部分

    haystack + 1会指向第二个字符,haystack + 2指向第三个,以此类推。因此,通过逐个递增指针,可以读取整个字符串。 那么问题来了,PHP需要知道字符串在哪里结束。...现在这两者的差异并不重要,但你需要知道的是在PHP中,整型值使用long来存储,字符串的长度使用int来存储。...,而且如果它是空的话会抛出错误。...然后strpos函数会设置needle_char[1]为0。这背后的原因是因为,在 C里面,字符串是使用'\0'结尾,就是说,最后一个字符被设置为NUL(编码为0的字符)。...在PHP的语法环境里,这样的情况不存在,因为PHP存储了所有字符串的长度(因此它不需要0来帮助找到字符串的结尾),但是为了保证与C函数的兼容性,还是在PHP的内部实现了。

    95980

    mysql数据类型有哪几种_数据库 数据类型

    时间/日期类型 字符串类型 blog-二进制大对象,用来存储可变数量的数据。 int(11) 在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。  ...这个11代表显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。   ...int是整型,(11)是指显示字符的长度,但要加参数的,最大为255,比如它是记录行数的id,插入10笔资料,它就显示00000000001 ~~~00000000010,当字符的位数超过11,它也只显示...11位,如果你没有加那个让它未满11位就前面加0的参数,它不会在前面加0   声明整型数据列时,我们可以为它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度...,MySQL会为它指定一个默认值。

    2.5K30

    python字符串常用方法及汇总

    (1) 如果+两边都是字符串,则拼接。 (2) 如果+两边都是数字,则加法运算。 (3) 如果+两边类型不同,则抛出异常。 可以将多个字面字符串直接放到一起实现拼接。...正向搜索: 最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。直到 len(str)-1 为止。...反向搜索: 最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str) 为止。...计算数量 count(sub, start= 0,end=len(string)) sub – 搜索的子字符串start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。...end – 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。 用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

    77420

    .NET面试题系列 - C# 基础知识(2)

    但反过来就错误。显式转换永远发生运行时而不是编译时异常。...} 回答下面每一行代码是可以执行,还是造成编译时错误,或运行时错误: Object o1 = new Object(); 可以执行。...在执行完上面所有语句之后,内存中的状况如图(省略了类型对象指针): ? D d6 = (D) b1; 运行时错误。在显式转换中,b1的类型是B,不能转换为其派生类D。...通过显式转换永远不会发生编译时错误。 B b5 = (B) o1; 运行时错误。在显式转换中,o1的类型是基类Object,不能转换为其派生类B。 2.3 什么是拆箱和装箱?...这个方法的速度之所以快,主要有以下原因: 当N确定,每个字符串也确定时,最终的字符串长度就确定了。此时,可以一次性为其分配这么大块的内存。

    92210

    java核心技术第六篇之断言、日志、包装类型和工具类

    void clearAssertionStatus() //1.4 移去所有类和包的显示断言状态设置,并禁用所有通过这个类加载器加载的类的断言. java中的3中处理系统错误的机制: 抛出一个异常...方法: int read() 读取单个字符,若是读取成功返回参数的int类型表现形式,若读取失败,返回-1 int read(char[] cbuf) 读取指定char数组长度个字符,并存入...[a-zA-Z0-9] [1235] 中括号可以匹配多个字符,或者范围内字符,范围使用-分隔,多组范围直接连着写 2. {} {5} {5,10} 限制前一个字符内容长度,或者长度范围,范围使用逗号分隔...在使集合创建迭代器时,会为变量expectedModCount赋值(赋予当前modCount的值) 5. foreach遍历集合时,先调用hasNext方法,指针后移,如果索引等于集合长度,...在next()中进行集合长度及变化的安全监测,如果索引大于集合长度,则说明在 上一次循环的循环体中,出现了修改集合长度的操作,则直接抛出 并发修改异常;集合之中有一个成员变量modCount

    85710

    字符串匹配算法之KMP

    目录 需求 基础知识 逻辑解析 源码实现 需求 先简单描述溪源曾经遇到的需求: 需求一:项目结果文件中实验结论可能会存在未知类型、转换错误、空指针、超过索引长度等等。...; 需求二:项目结论中即存在正常、成功的结论,又存在以上列举的失败字段; 例如: //存在异常错误 String str1 = "正常范围内;转换错误"; //存在异常错误 String str2 =...KMP算法解决的问题:在字符串(主串)中是否能够定位出模式串(子串)。 上面提及到暴力匹配字符串,为什么不使用呢?时间复杂度O(m*n),而KMP算法时间复杂度为O(m+n)。...ABCDABCDABDE"的第一个字符与搜索串(模式串,以下简称P串)"ABCDABD"的第一个字符,进行比较。...} } return -1; } /** *获取到一个字符串(子串) 的部分匹配值表(前缀、后缀共同元素的长度)

    68530

    JDK1.8源码(三)——java.lang.String 类

    6、charAt(int index) 方法 1 public char charAt(int index) { 2 //如果传入的索引大于字符串的长度或者小于0,直接抛出索引越界异常...当两个字符串某个位置的字符不同时,返回的是这一位置的字符 Unicode 值之差,当两个字符串都相同时,返回两个字符串长度之差。   ...) 作用也是返回首次出现的此字符串内的索引,但是从指定索引处开始搜索。...String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。   ...性能 当字符串是不可变时,字符串常量池才有意义。字符串常量池的出现,可以减少创建相同字面量的字符串,让不同的引用指向池中同一个字符串,为运行时节约很多的堆内存。

    33930

    我说精通字符串,面试官竟然问我 Java 中的 String 有没有长度限制?

    (jdk1.8.0_73) 但是,实验证明,String s = ""; 中,最多可以有 65534 个字符。如果超过这个个数。就会在编译期报错。...处编译失败: ✗ javac StringLenghDemo.java StringLenghDemo.java:11: 错误: 常量字符串过长 明明说好的长度限制是 2147483647,为什么 65535...个字符就无法编译了呢?...也就是说,在 Java 中,所有需要保存在常量池中的数据,长度最大不能超过 65535,这当然也包括字符串的定义咯。 正是金九银十跳槽季,为大家收集了2019年最新的面试资料,有文档、有攻略、有视频。...String 在运行期有没有限制呢,答案是有的,就是我们前文提到的那个 Integer.MAX_VALUE ,这个值约等于 4G,在运行期,如果 String 的长度超过这个范围,就可能会抛出异常。

    1.2K40

    程序设计导论(Python)读书笔记

    相应采取的措施称为抛出异常。 断言:是在程序中某个位置确定应该为true的一个布尔表达式。如果表达式为false则程序会在运行时抛出异常AssertionError。...指数型2^n格雷码穷举搜索(检测所有子集) 关于程序运行时间增长量级的验证假说方法: 1.评估解决大型问题的可行性 2.评估使用更快计算机的价值 3,。...大小表示数据项个数,容量表示内部数组长度。 摊销分析:python列表操作的总成本除以操作的次数为一个常量。 python的字符串数据类型与python列表类似,主要区别是字符串是不可变对象。...一个字符串包含一个指向字符串中自服务连续存储的内存地址的引用和字符串的长度。性能:拼接一个字符到一个字符串需要线性型运行时间,而拼接两个字符串所需的时间正比于结果字符串的长度。...字符串:40个字节用于对象开销,另外每个字符占一个字节。 数组:72字节用于对象开销(包括数组长度),另外每个对象引用(数组的每个元素)占用8个字节。

    79030

    我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?

    (jdk1.8.0_73) 但是,实验证明,String s = "";中,最多可以有65534个字符。如果超过这个个数。就会在编译期报错。...: ✗ javac StringLenghDemo.java StringLenghDemo.java:11: 错误: 常量字符串过长 明明说好的长度限制是2147483647,为什么65535个字符就无法编译了呢...当我们使用字符串字面量直接定义String的时候,是会把字符串在常量池中存储一份的。那么上面提到的65534其实是常量池的限制。 常量池中的每一种数据项也有自己的类型。...也就是说,在Java中,所有需要保存在常量池中的数据,长度最大不能超过65535,这当然也包括字符串的定义咯。...String在运行期有没有限制呢,答案是有的,就是我们前文提到的那个Integer.MAX_VALUE ,这个值约等于4G,在运行期,如果String的长度超过这个范围,就可能会抛出异常。

    1.5K30

    P2580 于是他错误的点名开始了

    题目描述 这之后校长任命你为特派探员,每天记录他的点名。校长会提供化学竞赛学生的人数和名单,而你需要告诉校长他有没有点错名。(为什么不直接不让他玩炉石。)...接下来 n 行,每行一个字符串表示其名字(互不相同,且只含小写字母,长度不超过 50)。第 n+2 行一个整数 m,表示教练报的名字。...接下来 m 行,每行一个字符串表示教练报的名字(只含小写字母,且长度不超过 50)。 输出格式: 对于每个教练报的名字,输出一行。...如果该名字正确且是第一次出现,输出“OK”,如果该名字错误,输出“WRONG”,如果该名字正确但不是第一次出现,输出“REPEAT”。...T1总是送分的。 TRIE的裸题,, 但是。 数组开小了,, mmp,调了一个小时。。

    61870
    领券