ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 Office知识技巧免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 213|回复: 4

[求助] 有没有大佬帮我写个注释

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-3-17 21:01 | 显示全部楼层 |阅读模式
我想对这个帖子里的这段代码进行修改来实现自己的功能,苦于自己能力不足,有没有大佬帮忙写写注释,让我知道,大概是怎么实现的,我也好改

http://club.excelhome.net/thread-1257188-1-1.html
就这个的2楼的代码帮忙注释一下,我改改

Sub 关键字()
    Dim r As Long, sta As Byte, le As Byte, rg As Range
    r = Cells(Rows.Count, 4).End(xlUp).Row
    Set rg = Range("d2").Resize(r - 1, 2)
    For x = 2 To r Step 2
        le = Len(rg.Item(x))
        If le > 0 Then
            sta = InStr(rg.Item(x - 1), rg.Item(x))
            rg.Item(x - 1).Characters(Start:=sta, Length:=le).Font.Color = -16776961
        End If
    Next
End Sub
主要这个大佬看起来好久没动静了
我想实现的就是在A列内高亮B列存储的关键字。B列关键字A列可能不含有

工作簿2.rar

1.46 MB, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2020-3-17 21:04 | 显示全部楼层
Sub 关键字()                                                                    '子程序 关键字()
    Dim r As Long, sta As Byte, le As Byte, rg As Range                         '定义变量 r为 长整型值,sta为 字节型,le为 字节型,rg为 单元格区域
    r = Cells(Rows.Count, 4).End(xlUp).Row                                      ' r=<单元格坐标>行数值,4 )的<末端>方向向上 )的行标
    Set rg = Range("d2").Resize(r - 1, 2)                                       '设定rg=<单元格区域>"d2" )的<重调大小>区域r-1,2)
    For x = 2 To r Step 2                                                       '设定变量范围为x=2到r步进为2
        le = Len(rg.Item(x))                                                    'le=<字符串长度值> rg的项目x))
        If le > 0 Then                                                          '如果 le>0则执行
            sta = InStr(rg.Item(x - 1), rg.Item(x))                             'sta=<正向判断字符串出现位置> rg的项目x-1), rg的项目x))
            rg.Item(x - 1).Characters(Start:=sta, Length:=le).Font.Color = -16776961  ' rg的项目x-1 )的Characters(起始=sta,长度=le )的字体的颜色=-16776961
        End If                                                                  'If判断过程结束
    Next                                                                        '下一个
End Sub                                                                         '子程序结束

评分

参与人数 1鲜花 +2 收起 理由
王座上的寂寞 + 2 感谢帮助

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-17 21:16 | 显示全部楼层
awp57 发表于 2020-3-17 21:04
Sub 关键字()                                                                    '子程序 关键字()
   ...

这个rg.Item()函数的作用是啥?

TA的精华主题

TA的得分主题

发表于 2020-3-17 21:25 | 显示全部楼层
王座上的寂寞 发表于 2020-3-17 21:16
这个rg.Item()函数的作用是啥?

1.你把 rg.Item(x)放到监视窗口,按F8键逐步调试,就能看到它的结果.
2.你再加个变量,a= rg.Item(x),按F8键,逐步调试,在本地窗口中,就能看到a 是什么.
3.在代码中加一句:debug.print  rg.Item(x),运行时,就能在立即窗口看到结果.

这三种窗口调出方法:视图中

评分

参与人数 1鲜花 +1 收起 理由
王座上的寂寞 + 1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-17 21:26 | 显示全部楼层
网海遨游 发表于 2020-3-17 21:25
1.你把 rg.Item(x)放到监视窗口,按F8键逐步调试,就能看到它的结果.
2.你再加个变量,a= rg.Item(x),按F8 ...

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

本版积分规则

关注官方微信,每天学会一个新技能

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

GMT+8, 2020-5-28 07:12 , Processed in 0.065044 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

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

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

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