问题标签 [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.
vba - Application.Volatile 帮助 - Excel VBA
我正在努力在 Excel 中构建预算文件:
- 在第 2 行,我有月份
- 在 AI 列中有我的预算类型(类别)。
我没有在每个单独的单元格中构建一堆 sumif,而是尝试为每个输入(银行、AMEX、VISA 等)编写自定义 VBA 函数。
我遇到的问题 - 没有Application.Volatile
代码,编辑其他单元格后每个单元格中的值不会自动更新 - 但是当我添加Application.Volatile
时,它只是记录每个单元格中的最后一个值,忽略预算类型(类别)。
有什么想法可以构建此功能吗?
vba - excel vba函数可以打开文件吗?
我正在定义一个将文件保存为 .xls 格式的函数:
然后在excel单元格公式中调用它=save_as_xls("c:\temp\test.xls")
但是,它不起作用,src_file
从Nothing
Workbooks.Open
无法打开文件的 vba 函数是否有限制?我只知道它不能写入其他单元格。
excel - VBA call webpage without opening browser or returning data
I am trying to create an excel UDF that calls a web page that runs scripts which take values from parameters in the URL. EG: "http://example.com.com/script.php?variable1=123&variable2=456&etc=etc"
I have used this after much googling and trying things from other stackoverflow answers. yes it creates a udf, yes you can enter a cell value in the udf, but no it does not call the URL (visits tracking on the URL says it has not been called).
I do not need it to return any data, just to call the URL to run the script. The point of doing this is to take variables from excel and use them as parameters in the URL which will run a script and update a web SQL database.
The actual result was nothing (blank cell in excel, no visit to webpage).
vba - 通过用户定义的函数VBA缩短excel公式
我的最终目标是使用 VBA 中的用户定义函数来缩短这个公式,以下是我的参数 A1:C10、A1:A10、E1、B1:B10、F1(这会有所不同,这只是一个纯粹的例子)
Excel公式:
使用用户定义的函数,它会是这样的:
我的 VBA 代码是这样的,但是,它不起作用。请高手,帮帮我。非常感谢。
excel - 如何将值列表传递给 Excel 中的用户定义函数 (UDF)
我希望在 Excel 中创建一个名为 MyXIRR(Dates as Range, Values as Range, Balance as Double, BalanceAsOn Date) 的函数
对于这个函数,我需要将时间戳列中的数据作为日期传递,数量 X 价格作为每个股票的值。Balance 和 BalanceAsOn 是我将分别确定的。
例如对于 ST1
日期将在下方
值将低于
我面临的问题是如何根据股票代码的过滤器传递值列表。
我不是 INDEX 或 MATCH 等方面的专家,但是当我尝试类似
或按 Ctrl + Shift + Enter 将其用作数组,即
然后在调试 MyXIRR 时,我在 Dates 中只得到一个值,在 Values 中得到一个值,即 2011 年 2 月 1 日和 100。我希望 MyXIRR 获得列表而不仅仅是第一个值。
怀疑我在滥用 INDEX 我尝试了 IF 和 SUMPRODUCT 但我得到了#VALUE!以下两种情况均出错
或者
有人可以建议我做错了什么和/或建议前进的方向吗?
我正在使用 Excel for Mac 版本 16.16.2
下面是我的功能的样子
当我为 ST1 调用它时,这只循环一次并显示 01/02/2011
excel - 使用适用于任何匹配项的 vba 在 excel 中自定义函数
我在 excel 中通过 vba 创建了一个自定义函数。如果我在我的电脑上使用它,它可以正常工作,但如果我将文件更改为另一台电脑(这台电脑也有创建的功能),它就不起作用。我必须更改创建函数的路径。每次我将文件复制到另一台计算机时,有没有办法不更改路径?
excel - 哪些 Excel VBA 或 UDF 选项可用于在关闭的工作簿中查找值
我目前使用 UDF 从我的个人工作簿中的表中查找值,它可以按我的需要工作。但是,我希望能够与我一起工作的其他人分享这个 UDF。我将我的保存在 .xlam 中并作为插件加载。我正在寻找一种解决方案,我可以在其中引用共享服务器上共享的一个工作簿。这样做的原因是表需要每月更新一到几次,如果一个人更新主表而不是每个人都更新他们的个人工作簿,那会更容易。
根据我的阅读,您不能使用 UDF 来引用尚未打开的工作簿。我希望有人可以让我知道是否有另一种方法可以实现我希望做的事情。
在阅读了其他一些答案后,我的印象是 Index 可以从 Application.WorksheetFunction.Index 读取已关闭的工作簿,但是当我尝试此代码时出现值错误:
此代码在我引用打开的工作簿时有效,但在引用关闭的工作簿时需要它工作。同样,我可以使用 VBA 和插件来实现我的目标,但我不确定最好的方法。
f# - Excel DNA UDF obtain unprocessed values as inputs
I have written several helper functions in F# that enable me to deal with the dynamic nature of Excel over the COM/PIA interface. However when I go to use these functions in an Excel-DNA UDF they do not work as expected as Excel-DNA is pre-processing the values in the array from excel.
e.g. null
is turned into ExcelDna.Integration.ExcelEmpty
This interferes with my own validation code that was anticipating a null
. I am able to work around this by adding an additional case to my pattern matching:
However it feels like a waste to convert and then convert again. Is there a way to tell Excel-DNA not to do additional processing of the range values in a UDF and supply them equivalent to the COM/PIA interface? i.e. Range.Value XlRangeValueDataType.xlRangeValueDefault
EDIT:
I declare my arguments as obj
like this:
excel - Excel范围和公式中的参数
我使用下面的公式来计算总和。该公式仅计算在“Paid?”列下的同一行中写入字符串“Yes”的那些值的总和。我还编写了自己的 UDF,它在给定范围内搜索具有给定背景颜色的单元格,并返回一个范围,该范围仅包含那些具有指定背景颜色的单元格。
(如果您对分号感到困惑,这是 Excel 使用的标准列表分隔符,因为我的计算机语言是瑞典语。我尝试将其更改为逗号,但这没有帮助)
问题在于,在这种特定情况下,第一个“SelectRangeByColour”函数返回一个看起来像这样的范围:$M$5:$M$7;$M$15,第二个返回这个范围:$I$5:$I$7 ;$15 美元。但是,由于分号既用于分隔范围内的值,也用于分隔函数SUMIF中的不同参数,因此该函数最终会收到太多参数并输出#VALUE!错误。
这是SUMIF函数最终试图解析的内容:
因此它将$M$5:$M$7作为主要区域,$M$15作为条件,$I$5:$I$7作为可选总和区域,最后将$I$15作为不存在的额外参数.
但是,我希望SUMIF函数将$M$5:$M$7;$M$15作为主要区域,将“是”作为条件,最后将$I$5:$I$7;$I$15作为总和区域。我怎么能做到这一点?
以下是 UDF“SelectRangeByColour”中的代码,以防万一有帮助: