问题标签 [excel-udf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
excel - 如果大于和小于使用 UDF 的特定值,则返回值
我目前正在研究一个 UDF,如果它大于和小于特定值,它将返回并连接标题。我在 Excel-Vba 中并不是很擅长,到目前为止我得到的是这个我再也无法理解的可悲代码。如果有人可以提供帮助,我将不胜感激。这是我到目前为止得到的:
如果该值大于或等于 5 且小于等于 10,则它应返回下面的相同示例,该示例将包含同一列中特定值的 Header 连接起来:
excel - 查找在数组中找到了多少个单元格中的单词
我有两列数据。第一个包含一些术语,另一个包含单个单词。 是)我有的
我正在寻找一种方法来识别第一列中每个单元格中的哪些单词出现在第二列中,所以结果应该是这样的(我不需要逗号): 我需要什么
我的问题在某种程度上类似于Excel 从搜索值在单元格内但不完全正确的范围中查找单元格,因为我需要确定第二列中出现了哪些单词并且可以有多个单词。
我也试过=INDEX($D$2:$D$7;MATCH(1=1;INDEX(ISNUMBER(SEARCH($D$2:$D$7;A2));0);))
,但它也只返回一个词。
vba - 如何跨项目重用核心 VBA 函数 (UDF),但不在单元格插入函数中显示它们
我有一个带有“核心”功能和子组件的插件,我想在不同的插件或 VBA 项目中引用和使用它们。因为代码重用和单一更新原则。
例如,一个根据条件过滤集合成员并返回子集合的函数。代码本身在这里不是问题。
我不想在单元格插入函数中显示此函数,因为它返回一个集合对象,但我想在 VBA 代码中 的多个 VBA 项目中重用它。
当前问题的图片,对象函数显示在单元格插入公式中:
研究
我使用Option Private Statement为单个项目方法找到了解决方案SO1、SO2。然而,由于其他应用程序或项目的限制
,这并不能解决问题。
当模块包含 Option Private Module 时,公共部分,例如在模块级别声明的变量、对象和用户定义的类型,在包含该模块的项目中仍然可用,但对其他应用程序或项目不可用。
接下来,我在MRExcel formum 上找到了一个问题 - Hiding VBA functions only。Tom Schreiner 建议,我可以使用自定义类并在 Classes中实现功能。这样,它们将无法通过单元格插入功能使用,但仍可用于我的其他项目。
问题
- 如何跨项目重用核心 VBA 函数 (UDF),但不在单元格插入函数中显示它们?
- 自定义类解决方案只有一个吗?
- (基于意见)我最初关于通过excel插件(.xlam)在多个项目中共享核心方法的理念是否合理?
vba - 如何在 Excel UDF 中强制参数
我创建了一个接受数组输入的 excel UDF。我希望它只允许数组中的偶数个项目。这是代码:(它很短,所以我会全部发布,这样你就可以获得一些上下文)
目前,我返回一个看起来像 Excel 自己的消息框,当您输入SUBSTITUTE()
缺少第三个参数时会出现该消息框。但是,当您使用SUBSTITUTE()
或任何类似功能执行此操作时,Excel 会阻止您输入公式,而是将您单击返回,以便您修复错误的功能。我想要这个,否则我的函数可以在其损坏状态(奇数个参数)中粘贴到几个单元格中,这意味着在重新计算时消息框会出现多次!
如何修复代码,以便如果检测到不正确的参数(数组中的项目数为奇数),那么用户会自动返回到编辑公式步骤?
javascript - 在 Excel 用户定义函数中运行 node.js 代码
如果可以在 Excel 用户定义的函数中运行 node.js 代码,那就太好了。类似于使用 VBA 之类的 js 代码。我搜索了解决方案,但找不到任何解决方案。是否有可能做到这一点?
vba - 具有无限参数的 UDF
我正在编写一个用户定义函数(UDF),它以一些单元格作为参数。这些单元格包含相同的数据,但精度不同;该功能显示可用的最佳精度。
函数的参数按精度升序编写。
这是一个例子:
函数显示 12,因为单元格 B5 中的信息比 B4 和 B3 具有更好的价值。由于这个原因,B5 在公式参数中写在 B4 和 B3 之前。
我的UDF的代码如下:
有用!但我想对其进行编辑,以便它可以像=get_best(B7;B6;B5;B4;B3)
. 我怎么能那样做?
有用的评论: “单元格 B5 比 B4 和 B3 具有更好的值”意味着,例如,在 B3 中,您具有 12 个月前计算的预测值。在单元格 B5 中,您有有效值和测量值。因此,当您拥有 B5 时,您不再需要 B3,因为“B5 比 B3 更好”
excel - 带有#N/D 个单元的 MATCH 函数
我在Excel中有下表:
对于每一列,都有一个 numerc 值的变量列表(可能还有一些#DIV/0!错误),并且从特定行到表末尾,只有 #N/D 值。
我的目标是,对于每一列,然后是#N/D值开始的第一个月份。结果将是:
- 价格阿尔法:201606
- 价格测试版:201608
- 价格伽玛:201607
对于这个任务之王,我通常编写一个结合MATCH和INDEX的函数,但不幸的是,MATCH函数不接受#N/D作为在矩阵中查找的值。
我怎样才能得到每列的第一个 #N/D 错误?
string - Excel VBA 的新手:创建字符串时出现 #Value 错误
对不起,我认为错误是基本的,但我不确定我做错了什么。
我正在尝试编写一个函数,该函数接受一个单元格并将红色标记的字符转换为小写。我通过在新变量中重建字符串来做到这一点。
然后返回这个重构的字符串。但是,当我尝试在 Excel 中对字符串使用此函数时,它会返回 #Value 错误。代码没有编译错误,所以我很茫然。任何帮助,将不胜感激。
excel - Excel 2011 - 如何将 textJoin 的输出从单元格的值更改为单元格名称,以便我可以将其放入 Sum() 以添加这些值
我正在使用下面列出的 textJoin UDF 将来自不同行的值组合到一个单元格中;它显示每个值。但是,我想知道我是否可以操纵此 UDF 的输出,以便我可以添加值并获得值的总和,而不是简单地显示值。或者理想情况下,如果我可以修改变量以指示它添加值。有谁知道是否可以指示此 UDF(我没有创建)输出单元名称(A2、B2、C2),如果可以,我可以将该输出放在 Sum() 函数中,以便添加 A2 +B2+C2?
似乎应该有一种方法可以将输出从单元格的值转换为单元格名称(即 C2、C3、C4 等),然后将整个内容放在 Sum() 函数中,这样它就可以简单地添加细胞在一起。或者,是否有一个函数可以广告放置在函数中的值而不是使用单元格名称?
我想添加突出显示的单元格(G2)。我的值是 10 和 20。如果我可以让 textJoin 输出单元格名称(即 C2、C3),我似乎应该能够使用 =Sum(textJoin(...)) 。
excel - 如何在 Excel 用户功能中使用目标搜索功能?
有在 MS excel 中使用目标搜索的方法,如下代码。它工作正常。
我想用一个函数来做如下的目标搜索。
但是,代码运行平稳,在 c 范围内没有得到任何答案。我哪里错了?