ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: 冬日暖暖

[求助] FindNext查找颜色失败

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-24 13:49 | 显示全部楼层
本帖最后由 冬日暖暖 于 2019-1-25 14:53 编辑

根据以上两位提供的解答,我更新的代码,执行结果和期望一致。

Sub application_find_color()
Dim Rng, U_Rng, Temp_Rng As Range
Dim st_Rng As String

Application.FindFormat.Clear
Application.FindFormat.Font.ColorIndex = 3
Set Rng = Cells.Find(What:="*", LookIn:=xlValues, searchformat:=True)
If Rng Is Nothing Then MsgBox "没有找到符合条件的单元格": Exit Sub '判断查找结果是否为空,如果为空则退出程序。
st_Rng = Rng.Address
Set U_Rng = Rng

For Each Temp_Rng In Sheet2.UsedRange
    Set Rng = Cells.Find(What:="*", After:=Rng, LookIn:=xlValues, searchformat:=True)
    If Rng.Address <> st_Rng Then
        Set U_Rng = Application.Union(U_Rng, Rng)
    Else
        Exit For
    End If

Next

U_Rng.Interior.ColorIndex = 4
End Sub

TA的精华主题

TA的得分主题

发表于 2019-1-25 14:35 | 显示全部楼层
冬日暖暖 发表于 2019-1-24 13:41
谢谢你的回复。

关于【FindNext为什么忽略参数ResearchFormat:=True】我从你的回复中找到了解答,是因 ...

你理解错我的意思了。Find语句很可能找不到符合条件的单元格,

找不到单元格,它的值就是nothing,nothing是空对象,不能操作。

Find语句其实根本不需要,因为你已经循环整个区域了,相当于自己实现了find功能。

我上次提供的代码其实就是Find的功能了。


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-25 14:48 | 显示全部楼层
ivccav 发表于 2019-1-25 14:35
你理解错我的意思了。Find语句很可能找不到符合条件的单元格,

找不到单元格,它的值就是nothing,not ...

我明白你说的意思了。如果Find找不到符合条件的单元格的话,程序会报错,无法运行。
那我应该加如下这条命令
If Rng Is Nothing Then MsgBox "没有找到符合条件的单元格": Exit Sub

另外,我明白你上次提供的代码含义,我写这段代码的目的是理解Find和FindNext。
谢谢你的解释说明。

TA的精华主题

TA的得分主题

发表于 2019-1-25 15:17 | 显示全部楼层
冬日暖暖 发表于 2019-1-25 14:48
我明白你说的意思了。如果Find找不到符合条件的单元格的话,程序会报错,无法运行。
那我应该加如下这条 ...

你这样就正确了。不过我基本不用Find,因为不处理单元格对象。
VBA操作对象是很慢的,几千行数据就无法忍受了,最好改为数组。

工作表中除了数据之外,最好不要有其他,如合并单元格、底色等等都会让工作表变慢。

查询数据的方法有很多种:http://club.excelhome.net/thread-1450458-1-1.html

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-4-28 18:02 , Processed in 0.035521 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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