楼主 罗刚君 |
提示:此题目是“VBA入门免费教学群”(群号:30729794)的课后作业 请未参与听课者绕道,谢谢配合。 1.看图 : 在上图的工作表中查找红色的“改锥”,并报告其地址,代码如下:
提示:要解决此问题,看看Range.Find的帮助即可,配合上课时的讲的理论,足以解决。 2.说说可选参数的用途是什么? 3.用什么办法将一个必选参数变成可选参数? 4.什么情况下适用带参数的过程?它有何优势? _____________________________________________________ 补充:“VBA入门免费教学群”(群号:30729794)每周三上课一次,有兴趣者皆可报名,永远免费。 请提交作业时注明在免费听课群的昵称。三次不交作业者,将踢出群,让出空间让更多的人进来听课,请大家配合。 |
2楼 kcxs |
客城小生的第13课作业 第1题: Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", lookat:=xlWhole, SearchFormat:=True).Address End Sub 2.可选参数的用途:可选参数则既可以对参数赋值也可以不赋值,当未手动为可选参数赋值时,VBA会调用该参数的默认值。 3.将一个必选参数变成可选参数的办法:通过Optional。 4.通常是一个过程需要多次调用时才用参数。过程名称中的参数通常用于传递常数或者变量,强化过程的功能。某个过程需要调用多个子过程时,如果没有使用参数,代码显得烦琐;如果过程可以使用参数,那么问题将化繁为简。事实上参数在工作中还有更复杂的应用,代码越复杂时参数越能体现其优势。 |
3楼 miantiao1 |
1:代码修改为如下的样式 MsgBox Range("C:C").Find("改锥", LookAt:=xlWhole, MatchCase:=True).Address 2.说说可选参数的用途是什么? 答:使定义的过程更合理化,同时可以减少可选参数的赋值命令 3.用什么办法将一个必选参数变成可选参数? 答:1:在该参数名称前添加Optional关键字 2:被Optional限制的参数必须是靠后的位置,即它的右边没有必选参数。 4.什么情况下适用带参数的过程?它有何优势? 答: 使用带有参数的过程更加人性化。 在执行重复的过程命令时使用带参数的过程,可以减少代码的大小,避免程序员多次书写差异极小的过程而增加的工作量, 同样在带有参数的过程中加入防错代码后,更能提高过程运行的准确程度。 |
4楼 ynzsvt |
标题内容 第13课练习.zip |
5楼 NULL |
1.MsgBox Range("C:C").Find(what:="改锥", lookat:=xlWhole, SearchFormat:=True).Address 2.便利,功能更强大. 3.将参数放置在必选参数(如果有)右侧,并添加关键字optional. 4.若一个过程只需修改一个或几个固定的的数据,并反复使用时.就需要建立一个带参数的过程.. 优势有两点, (1).代码简洁,美观,录入方便, (2).方便修改.如果代码需要修改,只需修改主过程即可. |
6楼 NULL |
1.MsgBox Range("C:C").Find(what:="改锥", lookat:=xlWhole, SearchFormat:=True).Address 2.便利,功能更强大. 3.将参数放置在必选参数(如果有)右侧,并添加关键字optional. 4.若一个过程只需修改一个或几个固定的的数据,并反复使用时.就需要建立一个带参数的过程.. 优势有两点, (1).代码简洁,美观,录入方便, (2).方便修改.如果代码需要修改,只需修改主过程即可. |
7楼 NULL |
1.MsgBox Range("C:C").Find(what:="改锥", lookat:=xlWhole, SearchFormat:=True).Address 2.便利,功能更强大. 3.将参数放置在必选参数(如果有)右侧,并添加关键字optional. 4.若一个过程只需修改一个或几个固定的的数据,并反复使用时.就需要建立一个带参数的过程.. 优势有两点, (1).代码简洁,美观,录入方便, (2).方便修改.如果代码需要修改,只需修改主过程即可. |
8楼 杨_堃 |
Yangk的作业 北京-Yangk第13课作业.rar |
9楼 tchsong |
Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 ' Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", , , , xlWhole, True).Address End Sub 2.说说可选参数的用途是什么? 传递参数 使代码简洁 3.用什么办法将一个必选参数变成可选参数? optional i as byte = 1 4.什么情况下适用带参数的过程?它有何优势? 多个过程都需要对参数进行多次判断及循环导致整个工程代码偏长,可使用参数过程, 优势就是让代码更简洁更清晰速度也会提升。 |
10楼 乌鸦…换毛ing |
|
11楼 manuel442 |
QQ昵称:智山仁水 1、参数赋值错误,应该改为,MsgBox Range("C:C").Find("改锥", LookAt:=xlWhole,MatchByte:=True).Address 2、可选参数的用途是可以设置默认值,当用户不对可选参数赋值时就按默认值运行。 3、将该参数前加 optional 就可以将其变为可选参数,需要注意的是,被Optional限制的参数必须是靠后的位置,即它的右边没有必选参数. 4、如果需要重复调用 一个类似过程,该过程只是条件不同,这时就可以考虑使用参数,提高过程的通用性,提高编程效率。 |
12楼 转角爱 |
不坏635731146 作业.rar |
13楼 lene |
1、对参数赋值错误,按位置赋值,可选参数用逗号间隔;按名称赋值,参数名称:=赋值,可选参数可以省略 改为MsgBox Range("C:C").Find("改锥", lookat:=xlWhole, Matchbete:=True).Address 或者 MsgBox Range("C:C").Find("改锥", , , xlWhole, , , True).Address 2.说说可选参数的用途是什么? 可选参数则既可以对参数赋值也可以不赋值,当未手动为可选参数赋值时,VBA会调用该参数的默认值。 3.用什么办法将一个必选参数变成可选参数? 1) optional 2) ParamArray 4、 什么情况下适用带参数的过程?它有何优势? 处理一个问题,可能出现多种选择时用参数,做自定义选择(心明口不明,感觉说不清楚) 优势:可以通过参数从主过程中传递到子过程,从而使操作对象不再固定,可以随意修改,程序更强大、灵活,代码更为简洁 |
14楼 paoge |
1答:参数赋值方式有错。 改:Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", lookAt:=xlWhole, MatchCase:=True).Address End Sub 2、答:可选参数则既可以对参数赋值也可以不赋值,当未手动为可选参数赋值时,VBA 会调用该参数的默认值。可选参数的传递更加灵活。 3答:可以在必选参数名称前添加 Optional 关键字。同时还需要对其赋予默认值。被 Optional 限制的参数必须是靠后的位置,即它的右边没有必选参数。Optional 一次只能将一个参数转换成可选参数,而使用 ParamArray 可以将一个参数转换成不确定个数的参数。 4、要用很多过程解决同一种问题的时候,用带参数的过程能简化程序。如:下面的代码包括 4 个过程,前面 3 个过程分别对应早中晚的信息提示,第 4 个过程“问 候”将根据当前时间来决定调用哪一个过程。4 个过程都存放在模块中。 由于过程没有参数,所以需要使用 3 个过程实现三个需求。如果有 10 个需求则需要改 用 10 个过程。 __________________________________________________________________________ Sub a() MsgBox "早上好" End Sub Sub b() MsgBox "中午好" End Sub Sub c() MsgBox "下午好" End Sub Sub 问候() '分别调用三个不同过程 If Hour(Now) < 12 Then '如果小于 12 点 Call a '调用过程 a ElseIf Hour(Now) < 13 Then '如果小于 13 点(即 12 点-13 点之间) Call b '调用过程 b Else '否则 Call c '调用过程 c End If End Sub 如果使用带参数的过程,那么问题将化繁为简。 Sub Hello(Mystr) '过程 Hello 有一个参数 MsgBox Mystr '提示信息的内容即为参数的值 End Sub Sub 问候() '调用有参数的过程 If Hour(Now) < 12 Then '如果小于 12 点 Call Hello("上午好") '调用过程 Hello,将传递参数“上午好” ElseIf Hour(Now) < 13 Then '如果小于 13 点(即 12 点-13 点之间) Call Hello("中午好") '仍然调用过程 Hello,将传递参数“中午好” Else '否则 Call Hello("下午好") '仍然调用过程 Hello,将传递参数“下午好” End If End Sub 拥有参数的过程也将使过程更强大、更灵活,例如过程的功能是对一个当前表的已用数据区域求和,它的功能被限制为指定的工作表和指定的区域。如果对过程使用了参数,那么工作表名称和区域地址可以通过参数从主过程中传递到子过程,从而使操作对象不再固 定,可以随意修改,从而使程序更强大、灵活。 |
15楼 一片叶子 |
@小鱼 执行代码会出错?错在哪里?应如何修改代码? 答:Find方法有多个参数,需要在代码中按参数逐一赋值,对于可选参数可用逗号站位即可。 Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", , , xlWhole, , , True).Address End Sub 2.说说可选参数的用途是什么? 答;用途:过程名称后面参数相当于一个自定义项,可以按自己的要求选取;过程中的参数传递常量或者变量。 3.用什么办法将一个必选参数变成可选参数? 答:在过程参数名称中使用Optional. 4.什么情况下适用带参数的过程?它有何优势? 答:反复调用同一种方法时,适用带参数过程。它可以避免重复调用,只要修改参数即可。 |
16楼 gaoshuichang1 |
1、参数的位置顺序不对,需要在代码中对参数按预设的顺序逐一赋值或指定正确的参数名称。 Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", lookat:=xlWhole, SearchFormat:=True).Address End Sub Sub 查找红色的改锥所在单元格地址2() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", , , xlWhole, , , , , True).Address End Sub2.说说可选参数的用途是什么? 可选参数既可以对参数赋值也可以不赋值,当未手动为可选参数赋值时,VBA 会调用该参数的默认值。 3.用什么办法将一个必选参数变成可选参数? 必选参数前添加Optional,同时还要对其赋予默认值,且它的右边没有必选参数. 4.什么情况下适用带参数的过程?它有何优势? 需要通过调用过程来实现的情况下 当过程使用了参数后,该过程将灵活得多,一个过程可以实现前面的几个过程的功能,在调用带参数的主过程中对过程的参数赋值即可,过程接收了什么参数就弹出什么提示信息,而不是只能显示原本固定的信息,即使需要弹出1000种信息,同样只需要一个带参数的过程来实现,而不需要写1000个子过程。 |
17楼 健康快乐123 |
c05:水上漂123 第一题:msgbox range("c:c").find("改锥",xlwhole,ture).address出错,由于参数的位置不对造成错误,find有9个参数 分别是what,after,lookin,lookat,searchorder,searchdirction,matchcase,matchbyte,searchformat xlwhole是lookat的常量形式,true是matchcase的值,修改可以用两种方法,一种是用逗号占位,使用参数的位置正确 一种是写出参数名即lookat:=xlwhole,matchcase:=true 第二题:可以提供代码的灵活性 可以增强代码的功能 第三题:在前面加上optional,每次只能转一个,并且它的右边不能有必选参数 第四题:反复使用过程的时适用带参数的过程 提高过程的灵活性和功能 |
18楼 一点点 |
糊啦啦 1、Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 (这句代码真神奇,既没指定某行某列又没指定某个单元格,为什么下面的代码找的不是C8的改锥呢?,如果下面的代码参数位置不对的话,找的就是C8的改锥又不是C12的红色改锥了。我的意思说这句代码跟下面的代码有关联吗?) '答:每个参数之间要用;号分隔占位才可以 MsgBox Range("C:C").Find("改锥", , , xlWhole, , , , , True).Address '或:不用;号占位的话,就要声明参数类型 MsgBox Range("c:c").Find(what:="改锥", lookat:=xlWhole, searchformat:=True).Address End Sub 2、可选参数可以在未赋值的情况下显示默认值 (这个回答没底气) 3、若要把必须参数变成可选参数,在可选参数的前面加上 optional。 注意:多个参数的情况下,可选参数只能在最右侧,也就是说把可选参数放到最末尾的位置 4、过程的参数相当于一个软件的自定义选项,有了足够的自定义选项,软件才能适应工作中灵活多变的需求。参数让程序更强大更灵活(知道道理了,自己用估计还不会) |
19楼 天空的雨 |
免费听课群-天空 跟着免费听课群学习,不能准时听课,但会努力跟上,谢谢老师的课件。 答第一题:FIND方法的参数位置有误。XLWHOLE是第四参数的选项,true理解为查找格式第九参数。可改成 MsgBox Range("C:C").Find(What:="改锥", LookAt:=xlWhole, SearchFormat:=True).Address 或者 Range("C:C").Find("改锥",,,xlWhole, ,,,,True).Address 。 答第二题:过程名称中的参数写在过程名称后面的括号中,它能扩展过程的功能,使过程更强大、更灵活。 过程名称中的参数通常用于传递常数或者变量,强化过程的功能。 答第三题:参数名称前加Optional关键字,可使必选参数变成可选参数。 答第四题:过程中有多种判断时,可借用参数来简化代码。 方法中的参数过多时,可(参数名:=参数值)来加强代码可读性。 |
20楼 cxleaf |
按时交作业 第13课作业(cxleaf).rar |
21楼 csppglass |
题1: Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find(what:="改锥", Lookat:=xlWhole, searchformat:=True).Address End Sub 题2: 扩展程序的功能,使程序更加灵活。 题3: 使用optional转换。 题4: 需要多次调用的时候使用带参数的过程,或者需要判断的时候。简化程序,使程序更加灵活。 |
22楼 csppglass |
题1: Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find(what:="改锥", Lookat:=xlWhole, searchformat:=True).Address End Sub 题2: 扩展程序的功能,使程序更加灵活。 题3: 使用optional转换。 题4: 需要多次调用的时候使用带参数的过程,或者需要判断的时候。简化程序,使程序更加灵活 这次的作业是最不理解的了,看了几次主课件才懂那么一点点! 江苏0基 |
23楼 hunt |
hehex 作业: 第一题:find 方法的参数位置和实际参数值不对应。 应改为: msgbox Range("c:c").Find("改锥", lookat:=xlWhole, MatchCase:=True) 或者删除掉TRUE 和 xlWhole 因为这2个参数和本题关系不大。 msgbox Range("c:c").find("改锥") 也可以。 第二题: 可选参数使程序调用时更加灵活,对调用者更加友好,简单。 第三题: 在该参数前使用关键字 Optional 并赋予初值。(该参数后面不得有必选参数) 第四题: 某些比较复杂的需求,要求过程调用更加灵活多变的情况。 |
24楼 nocturne |
|
25楼 冰淇林的冬天 |
第一题 Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find(what:="改锥", lookat:=xlWhole, MatchCase:=True).Address End Sub 第二题 可选参数的用途 可选参数则既可以对参数赋值也可以不赋值,当未手动为可选参数赋值时,VBA会调用该参数的默认值。 第三题 在参数前面加上ParamArray或Optional函数,可以函数后面的全部或一个参数变为可选参数 第四题 当需要将主过程中的值传递到子过程,或需要的操作对象,操作方式不确定时,适用带参数的过程 使用带参数的过程可以增加自定义选项,使过程更灵活。 |
26楼 lb425319789 |
2、可选参数既可以赋值,也可以不赋值,使用更加灵活。 3、在参数前面加optional关键字,可以将参数转化为可选参数。 4、当代码比较复杂时,可以使用带参数的过程,将问题化繁为简,同时代码越复杂,越能体现参数的价值。 |
27楼 老固 |
1.看图 : 在上图的工作表中查找红色的“改锥”,并报告其地址,代码如下: Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", C1, lookat:=xlWhole, MatchCase:=True).Address End Sub 2. 说说可选参数的用途是什么? 答:有了参数,程序才更强大,更灵活同理,拥有参数的过程也将使过程更强大、更灵活,例如过程的功能是对一个当前表的已用数据区域求和,它的功能被限制为指定的工作表和指定的区域。 如果对过程使用了参数,那么工作表名称和区域地址可以通过参数从主过程中传递到子过程,从而使操作对象不再固定,可以随意修改,从而使程序更强大、灵活。 3.用什么办法将一个必选参数变成可选参数? 答:通过Optional将两个参数转换成可选参数 4.什么情况下适用带参数的过程?它有何优势? 答:以新建工作表为例:反复创建工作表时,通过一个带参数的“新建工作表”可以大大简化代码,在过程“新建工作表”中使用了多个判断语句,如果不使用带参数的过程,那么新建三次工作表时需要重复判断三次,而使用一个带参数的过程,只需要在一个过程中判断一次,调用时不再做任何判断,直接Call它就行了。 |
28楼 静思雨 |
1、没有对参数名称赋值,修改如下: Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", lookat:=xlWhole, matchbyte:=True).Address End Sub 2、增加代码的灵活性和适用范围 3、将参数放在必选参数右边,并使用Optional限制参数 4、需要对参数多次重复判断得出结果的情况下 简化代码 方便修改 Q昵称:[浙]-小影 |
29楼 qing33670000 |
1、
3、Optional 可以把一个必选参数转换成可选参数。 4、过程名称中的参数写在过程名称后面的括号中,它能扩展过程的功能,使过程更强大、更灵活。 |
30楼 本人号被盗, |
河南蓝天 249229293 抱歉第一题没解答出, 1、Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", xlWhole, True).Address End Sub 2\带可选参数的简化程序,便于调用程序。 3、a、用optional一次将一个参数变成可选 b、paramarray可以将一个参数转换成不确定个数的参数 4、当需要反复执行程序时,通过带参数的程序可以大大简化代码,并且简化判断,可以直接使用 |
31楼 hjsky |
四川-幺幺第十三课作业.rar ,老师辛苦了 |
32楼 jsrgsunny |
QQ:1975225261 江苏-阳光明媚 1、Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 Set c = Range("C:C").Find("改锥") If Not c Is Nothing Then c.Select MsgBox c.Address End If End Sub 2、可选参数能使 Range.Copy 方法更灵活,有更多的可选空间。 3、在该参数名称前添加 Optional 关键字。 4、如果对过程使用了参数, 那么工作表名称和区域地址可以通过参数从主过程中传递到子过程,从而使操作对象不再固定,可以随意修改,从而使程序更强大、灵活。 |
33楼 zjyxp |
1. Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", lookat:=xlWhole, MatchCase:=True).Address End Sub 2.说说可选参数的用途是什么? 拥有参数的过程也将使过更强大、灵活。 3.用什么办法将一个必选参数变成可选参数? 参数区分可选与必选,必选参数是必须赋值才能让过程正确执行的参数,可选参数则既可以对参数赋值也可以不赋值,当未手动为 可选参数赋值时,VBA会调用该参数的默认值。 4.什么情况下适用带参数的过程?它有何优势? 重复某个程序时。需要使用一个带参数的过只在程中判断一次,直接程调用直接Calll它就行了。无须多次 |
34楼 Crazywu |
群名片:湖北-Craywu --------------------------- 提示:此题目是“VBA入门免费教学群”(群号:30729794)的课后作业 请未参与听课者绕道,谢谢配合。 1.看图 : 在上图的工作表中查找红色的“改锥”,并报告其地址,代码如下: 1. Sub 查找红色的改锥所在单元格地址() 2. Application.FindFormat.Clear '清除以前的查找格式 3. Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 4. '获取查找对象的地址 5. MsgBox Range("C:C").Find("改锥", xlWhole, True).Address 6. End Sub 复制代码 执行代码会出错?错在哪里?应如何修改代码? 提示:要解决此问题,看看Range.Find的帮助即可,配合上课时的讲的理论,足以解决。 答:未指定find参数,第5行改为 5. MsgBox Range("C:C").Find(what:="改锥", LookAt:=xlWhole, SearchFormat:=True).Address 2.说说可选参数的用途是什么? 答:能更快捷方便的指定过程方式。 3.用什么办法将一个必选参数变成可选参数? 答:通过Optional关键字进行声明。 4.什么情况下适用带参数的过程?它有何优势? 答:其他过程需调用时适用带参数的过程,能够简化代码,其他过程能随意调用。 |
35楼 ff8shi |
石头作业: 第一题: 代码会出错,原因在于类型不匹配,应该改为:
可选参数即可以对参数赋值也可以不赋值。 第三题: 在该参数名称前添加Optional或者ParamArray关键字即可.如果使用了Optional,则后继所有参数必须是可选的, 而且必须都使用Optional关键字声明。如果使用了ParamArray,则任何参数都不能使用Optional. Optional一次只能将一个参数转换成可选参数,而ParamArray则可以提供任意数量的可选参数,不过它不能与byval,byref,Optional一起使用。 第四题: 需要多次重复操作时,使用带参数的过程,可以大大简化代码。 |
36楼 龙泉剑 |
看不懂,发现自己的VBA没有水平,从头学习。 |
37楼 caihaiyu |
qq115934012 昵称 海域 1.range.find后面的可选参数不能直接写参数值,应该写成"参数名":=值 2.可选参数可以令函数更灵活,使用范围更广 3.定义参数前加Optional 4.当一个过程中需要根据不同情况调用多次时,使用带参数的过程会十分方便,也使代码简洁很多 |
38楼 xj_lucky |
1、 Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True).address End Sub 2、需要将某个参数设置为可选参数时,在该参数名称前添加Optional 关键字即可。同时还需要对其赋予默认值,从而当调用过程未指定参数值是VBA会调用此默认值。 3、需要将其中一个可选参数转换成必选参数的话,只能将第一个可选参数调整为必选参数,VBA不允许可选参数排在必选参数之前。 4、有参数的过程,其他任意过程可以随时调用此过程来执行,从而大大简化代码。 VBA入门免费教学群 无忌 |
39楼 mmice |
1.看图 : 在上图的工作表中查找红色的“改锥”,并报告其地址,代码如下: Sub 查找红色的改锥所在单元格地址() Application.FindFormat.Clear '清除以前的查找格式 Application.FindFormat.Font.Color = 255 '设置查找对象的字体颜色 '获取查找对象的地址 MsgBox Range("C:C").Find("改锥", SearchFormat:=True).Address End Sub 或者 MsgBox Range("C:C").Find("改锥",,,,,,True).Address 复制代码 执行代码会出错?错在哪里?应如何修改代码? 提示:要解决此问题,看看Range.Find的帮助即可,配合上课时的讲的理论,足以解决。 答:类型不匹配,修改如上 2.说说可选参数的用途是什么? 答:可选参数则既 可以对参数赋值也可以不赋值,当未手动为可选参数赋值时,VBA 会调用该参数的默认值。用途在于方便。 3.用什么办法将一个必选参数变成可选参数? 答:通过Optional关键字进行声明。 4.什么情况下适用带参数的过程?它有何优势? 答:现在就知道工作表事件,会写参数…… |