ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3008|回复: 4

问一个宏里的传递参数的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-5-31 16:42 | 显示全部楼层 |阅读模式

定义一个宏比如

sub msg(I)'i是传递参数

if i=1then

msgbox "yes!"

else

msgbox "no!"

end if

end sub

在宏里是不支持的,有没别的办法代替?

TA的精华主题

TA的得分主题

发表于 2005-5-31 20:47 | 显示全部楼层

试试用FUNCTION END FUNCTION过程。

可以在本论坛中搜索该示例。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-1 08:44 | 显示全部楼层

FUNCTION不行,我是在窗体域中,调用某个宏,需要给这个宏传递个参数,

这样讲太抽象,比如在文字框,光标易出时传递参数为1,如果是别的类型的窗体

域光标移出,这传递参数为2。就这样的意思。function不是宏过程,调用不了的。

TA的精华主题

TA的得分主题

发表于 2005-6-1 14:13 | 显示全部楼层
请先按要求测试一下,再说。 '* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-6-1 14:12:30 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '^The Code CopyIn [ThisDocument-ThisDocument]^' '* ----------------------------- Option Explicit '本示例要求,所有文字型窗体域的默认书签名不改变 '文档处于保护窗体状态,或者保护文档/窗体/节 '所有的文字型窗体域在退出时要求运行Example宏. Sub Example() Select Case BKValue Case 1 MsgBox "您刚从文字型窗体域中退出!" Case 2 MsgBox "您刚从复选框型窗体域中退出!" Case 3 MsgBox "您刚从下拉型窗体域中退出!" End Select End Sub '---------------------- Function BKValue() As Byte Dim Bk As String On Error GoTo ErrHandle Bk = Selection.Bookmarks(1).Name If Bk Like "Text*" Then BKValue = 1 If Bk Like "Check*" Then BKValue = 2 If Bk Like "Dropdown*" Then BKValue = 3 Exit Function ErrHandle: Exit Function End Function '----------------------
[此贴子已经被作者于2005-6-5 8:04:37编辑过]

TA的精华主题

TA的得分主题

发表于 2005-6-5 08:04 | 显示全部楼层

另参:

'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-6-5 08:03:54 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------

Option Explicit Sub Example(Bkvalue As String) Select Case Bkvalue Case "T" MsgBox "您刚从文字型窗体域中退出!" Case "C" MsgBox "您刚从复选框型窗体域中退出!" Case "D" MsgBox "您刚从下拉型窗体域中退出!" End Select End Sub '---------------------- Sub SelectionExit() Dim FormFieldName As String FormFieldName = VBA.Left(Selection.Bookmarks(1).Name, 1) Example (FormFieldName) End Sub '----------------------

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

本版积分规则

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

GMT+8, 2024-11-15 01:57 , Processed in 0.040268 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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