knrt.net
当前位置:首页 >> ExCEl vBA FinDnExt这个函数我哪里用错了 >>

ExCEl vBA FinDnExt这个函数我哪里用错了

参数错了。 这个函数的参数只能是搜索范围内的单个单元格,而你的c(1)在前面得到的是查找到第一个单元格的地址,是一个字符串变量。参数应该改为: After:=Range(c(1))

findnext里的参数必须是一个单元格对象,所你这里vl是一个值,就不行了 你参考一下vba帮助里关于find的示例吧: 示例 本示例在第一个工作表的单元格区域 A1:A500 中查找包含值 2 的所有单元格,并将这些单元格的值更改为 5。 With Worksheets(1)...

明显的逻辑问题埃 如果找到了,则对该单元格做条件判断,如果不满足条件则查找下一个含有abc的单元格。 如果找到了,则对该单元格做条件判断,做完条件判断也需要再查找下一个,跟你的这个条件是没有关系的。。 所以应该是: Do If criterior_Ch...

程序运行正常,一切OK VBA每次只能查找一个RNG啊 ,你不循环咋办,第一循环后内存中RNG已经得到了一个ADDDRESS 不重设RANGE那就是死循环 没有Set rng = Range("h2:h36").FindNext(rng),你的LOOP后面的条件就是没用的

代码没有问题,那就是数据的问题了,因为您只记录了行号,而且因为您采用的是部分匹配,那很有可能是同一行内有两个单元格都包含了您所查找的内容。 excel默认的searchorder是先行后列。您可以改一下这个参数,然后看看查找结果出现的顺序来判断...

findnext的使用条件:搜索的 单元格区域、内容、其他设置 都与前面的find相同 例如: Public Sub iFind() Dim c As Range, rng As Range, s$, iAdd$, msg$, n& Set rng = Range("A:A") s = "abc" With rng Set c = .Find(s, .Cells(.Cells.Count...

Sub Myfind() Dim iRange As Range, iFined As Range Dim iStr, iAddress As String, N As Integer '以上是定义使用到的变量 Set iRange = Range("A2:A100") '给irange变量赋值为A2:A100区域 iStr = Range("A1").Value '给要查找的字符串变量赋...

你的代码错误不是一点点,有的基本概念没弄清楚,比如find函数,在VBA当中与在工作表当中,用法并不一样,给你更改代码如下: Sub dd() Dim x%, y% x = Range("A65536").End(xlUp).Row For y = 2 To x If Range("A" & y) = Range("E1") Then Ran...

range.findnext(range.find(what))

1、对于大量数据的操作需要考虑内存的优化,可以分批次处理,一次处理一定数量; 2、速度慢的两个原因: a、因为没有内存优化。数组太大时,因此系统可供用来进行计算的内存非常有限,导致速度变慢;同样 ,数组太小时,因处理的次数增加,内存...

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com