问题标签 [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.

0 投票
1 回答
624 浏览

vba - Passing the value and color of the text in a cell to a user defined function

Currently I am experiencing issues with passing the value of a cell and its respective text color to my user defined function. I am passing the references as ranges and using .Font.ColorIndex. This is then used in a IF statement to determine if any are red (value of 3) and then application.caller.fontIndex=3 to turn the cell text red.

The rest of the code is simply formulas that calculate a double from the ranges inputted which is returned as a double.

To clarify, I am trying to determine the color of the text of the referenced input cells. I am not limited to a UDF to do this if I can call the sub from my UDF.

0 投票
1 回答
483 浏览

vba - vba range("A1").value 给出了#Value!在函数中输入时

我希望它从 Excel 电子表格调用的 VBA 函数返回多个值,但总是得到错误 #Value!

网上找到的一个例子:

此函数返回#Value!

这行代码可以立即运行。

我发现的所有例子都是子。如何从函数中调用 sub?

0 投票
2 回答
183 浏览

vba - 在 Excel 中创建 CountRows 函数

我正在尝试制作一个简单的countRows函数来计算动态范围内的单元格数量。基本上,如果我在单元格中有值,比如 B2:B500,则计数将返回 499。但是,下次值在单元格 B2:B501 中时,计数将返回 500。但是您不必对单元格中的单元格做任何事情您在公式中输入的。

我想如果我将单元格引用为Variant,那么任何值都可以接受。然后找到Address那个单元格的 并返回Counta 的Range。但我得到一个#Value错误。

0 投票
0 回答
166 浏览

vba - Vba字典结果不正确返回

我试图使用字典来查找incolumn Fkey in column C
但是结果之后不会像我想要的那样返回。它显示“0”

场景:
1. key incolumn C将有多个相同的值2. 我想根据key
总结所有并返回column F"RAW" Range("C2")

这个数据库

这是我要查找的地方

请帮我。
提前致谢。
这是我的代码。

仅供参考。
这是我在其他工作簿中使用的代码并且运行良好

编辑#1:
根据@YowE3k 评论,我尝试执行GetFile函数并得到如下图所示的结果。
不太清楚为什么最后一个返回 0

这是因为它在我的字典历史记录中已经具有相同的键,因为在其他工作簿中我使用相同的键。

结果与代码

0 投票
0 回答
1211 浏览

excel - Application.Caller 到 Range

我有一个包含以下行的功能;

然后,该单元格引用下面的新函数;

我需要更改调用该函数的单元格右侧 10 列的单元格的值,但我无法让它工作。调用该函数的单元格的值变为#VALUE!

我已经尝试了上述代码的一些变体,但无法正常工作,有人知道该怎么做吗?

谢谢

0 投票
2 回答
872 浏览

vba - Excel VBA 宏和错误消息

我在 Excel 方面非常缺乏经验,并且在编写宏时遇到了问题。无论我是否设置断点并跳过,它都会停止而没有任何错误对话框。

我错过了什么吗?我必须明确打开错误消息吗?

像这样的东西,在一个模块中:

该函数用于单元格内的公式中,如下所示

我怎样才能让它抱怨被零除?

0 投票
0 回答
654 浏览

excel - VBA - 将范围转换为变体

我被困在从范围到变体的转换中。

对于percentageAbove 的功能,我想删除为0 的元素,然后使用percentageAboveHelper 中的输入。例如,如果

xInput 是 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

y输入为 5, 0, 0, 2, 3, 4, 0, 4, 5, 0

我希望传递给 percentAboveHelper 的输入是

x输入:1、4、5、6、8、9

y输入:5、2、3、4、4、5

对于 percentAboveHelper 的功能,它本身就可以正常工作。但是,如果我通过percentageAbove 的变体,我会得到#value!

我试图检查哪一行导致#value!。所以,我在 percentAboveHelper 中写了 msgbox "1" 和 msgbox "2"。我看到如果我只使用 percentAboveHelper 本身,我可以看到消息 1 和 2。但是,如果我使用 percentAbove,我只能看到消息 1。

从这篇文章,在 VBA 函数中从范围切换到数组并返回我看到转换可以简单地通过变体 = range.value 完成。但它在我的情况下不起作用。有什么建议吗?

0 投票
2 回答
168 浏览

vba - VBA用户定义函数中的循环错误

我是 VBA 编程的新手,并且已经编写了一个用于插值的 VBA 函数。我尝试从单元格 C17 和 C 列中的其他单元格获取输入到函数“WindPressure”

然后该函数从 C 列(地表高度 z (m) )获取输入并进行插值以获得设计风压,但由于圆形误差而失败。

代码如下:

  1. 谁能告诉我脚本中的哪一步是错误的
  2. 无论如何方便测试一个功能?因为它不像直接通过单击 F5 按钮执行的程序

非常感谢您的关注和帮助。

0 投票
0 回答
193 浏览

excel - Excel 复制表连同模块代码到新书

我正在尝试将工作表从一个文件复制到另一个文件并让 VBA 随之而来。源表具有基于 UDF 的公式。它们位于源书中的一个模块中。

当我复制工作表时,模块不会出现在目标文件中,代码也不会出现。所以我尝试将代码放在源文件的工作表中。现在代码确实出现了,但 UDF 不起作用。我得到(我认为)#NAME?错误,或类似的东西。我应该提到,如果相关的话,这些 UDF 会遍历工作簿中的选项卡。在这种情况下,工作表级代码不起作用听起来对吗?除了模块,我从未将 VBA 放在任何地方。

如果工作表代码不起作用,我会被一个模块卡住。我意识到我可以从源文件中导出 Module1,然后导入到目的地。源模块永远不应该改变,所以我只能这样做一次。这听起来像是最轻松的解决方案吗?

我试图避免使用宏,除非它简短而简单。与不变的源文件不同,目标文件名每天都在变化,即每次打开它都需要接收模块(和工作表)。这听起来可行吗?

0 投票
2 回答
930 浏览

vba - 使用VBA在Excel中的范围到列

我正在尝试创建如下函数:

输入:范围
输出:包含范围内所有非空单元格的列。

例如,在输入

输出应该是

这是我的试验:

我知道 res 是一维的(因此,结果是一行而不是一列)对我有用。所以,问题在于它是二维的。

另外,我知道 decleration 存在具体问题

但我不知道有什么问题。

提前致谢!