![]() |
1
56
发件人: http://www.ozgrid.com/forum/showthread.php?t=78123&page=1 要显示“函数参数”对话框,请键入函数名并按 Ctrl键 一个 . 或者,单击公式栏中的“fx”符号:
|
![]() |
2
90
不是工具提示解决方案,而是适当的解决方法:
开始键入自定义项
例如,这:
变成这样:
|
![]() |
3
8
我只是创建了一个“帮助”版本的函数。在“自动完成”中的函数正下方显示-用户可以在相邻单元格中选择它以获取说明。
回车提高了wordwrap的可读性。一石二鸟,现在函数有了一些文档。 |
![]() |
4
8
我知道你已经接受了这个问题的答案,但是现在有一个解决方案可以让你通过一个excel DNA插件,或者在你自己的插件中注册一个intellisense服务器,像其他excel函数一样弹出一个intellisense样式的完成框。 See here .
现在,我更喜欢用C#方式来实现它——它比在Excel DNA中实现的任何类都简单得多
然后(这只是从github页面中获取的),您只需要在函数上使用ExcelDNA注释:
intellisense服务器使用ExcelDNA注释进行注释,它将获取参数名和描述。
也有一些例子可以将它与VBA一起使用,但是我不太喜欢VBA,所以我不使用那些部分。 |
![]() |
5
2
不幸的是,没有办法为UDF参数添加工具提示。
|
![]() |
6
2
很多人都在回答问题。可以添加UDF上下文帮助,但必须导出模块并在文本编辑器中编辑内容,然后将其重新导入VBA。以下是Chip Pearson的例子: Adding Code Attributes |
![]() |
7
2
也可以使用此宏为参数和UDF分配说明:
学分 Kendall 以及原帖 here . 对于 UDF Categories |
![]() |
8
1
@威尔的方法是最好的。只需在细节上加上几行文字,就可以知道以前没有像我这样使用过ExcelDNA的人。 从下载Excel DNA IntelliSense https://github.com/Excel-DNA/IntelliSense/releases 有两个版本,一个是64,检查你的Excel版本。就我而言,我使用的是64版本。 打开Excel/Developer/Add-Ins/Browse并选择ExcelDna.IntelliSense64.xll。 插入新工作表,将名称更改为“ 智能感知 ,添加函数说明,作为 https://github.com/Excel-DNA/IntelliSense/wiki/Getting-Started 那就尽情享受吧!:)
|
![]() |
9
0
我尝试了@ScottK的方法,首先是作为功能性UDF的一个附带功能,然后在遇到问题时作为一个独立的帮助后缀版本(见下文)。事后看来,后一种方法还是更好的——对一个足够专注的用户来说,更明显的是它可以看到一个工具提示,而且它不会扰乱功能代码。 我想,如果一个不注意的用户只是键入函数名并在思考时关闭括号,就会出现帮助,他就会上路了。但是将一堆文本放入一个我无法格式化的单元格中似乎不是一个好主意。相反,当函数在没有参数的单元格中输入时,即。
将打开一个带有帮助文本的msgBox。一个msgBox限制为1000个字符,可能是1024个。但这对于我的过度复杂的插值函数来说已经足够了(仅仅8^/)。如果不是的话,你可以打开一个用户表单然后进城。 消息框第一次打开时,看起来像是成功了。但有几个问题。当然,首先,用户必须知道输入的函数没有参数,(+1表示帮助后缀UDF)。 这个 大的 问题是,msgBox在工作簿的不相关部分工作时会自动地连续重新打开几次。不用说,这是 非常 烦人的。有时它会一直持续到我收到一个循环引用警告。想想看。如果自定义项可以更改单元格公式,我会这样做来关闭它。 我不知道为什么Excel觉得需要反复重新计算公式;无论是独立的帮助,还是完整版本(在帮助模式下)都没有先例或依赖项。没有 应用程序.volatile 任何地方的声明。当然,函数会返回一个值给调用单元格。也许这会触发重新计算?但UDF就是这么做的。我不认为你能 不 返回值。 因为你不能修改工作表 公式 从UDF中,我试图返回一个特定的字符串-- 价值 --到调用单元格(唯一可以从UDF更改值的单元格),我将使用 应用程序.caller 在下一个循环中,找出我的字符串,并知道不要重新显示帮助消息。当时看来是个好主意——没用。也许我在睡眠不足的状态下做了些蠢事。我还是喜欢这个主意。如果我解决了这个问题,我会更新的。我的快速解决方法是在“帮助”框中添加一行:“ 只有在紧急情况下才寻求帮助。删除冒犯的公式来结束痛苦。 同时,我尝试了Application.MacroOptions方法。很简单,看起来很专业。只有一个问题要解决。稍后我会就这一方法发表一个单独的答案。 |