Tag: 用户自定义函数

如何将数组数据(如A1:A500)传递给Excel用户定义的函数

我正在尝试将一个variables数组传递给一个Excel用户定义的函数。 我的Excel VBA附在下面,我希望我可以通过一个范围,如A1:A100到当前的variables数据,然后像一个正常的Excel公式一样操纵它。任何帮助将不胜感激。 Function LowerB_4n_2(inputrange As Range) As Double Dim myArray As Variant Data = inputrange.Value LowerB_4n_2 = Small(Data, (Round((((0.4 * (Count(Data))) – 2)), 0))) End Function Function UpperB_4n_2(inputrange As Range) As Double Dim myArray As Variant Data = inputrange.Value UpperB_4n_2 = Large(Data, (Round((((0.4 * Count(Data)) – 2)), 0))) End Function Function Width4n_2(inputrange As Range) […]

Application.MacroOptions和错误1004

我想注册一个CalculateHours(work_hour, rest_hour)的函数种类到Excel VBA,在一个Addin像Works.xla 我尝试使用Application.MacroOptions来注册该函数。 以下代码是在一个Class文件中,该函数在另一个模块文件中。 当我们打开Excel和Addin时,它们会加载。 码: Private Function AddFunctions() With MyFunction Application.MacroOptions .Name, _ .Description, , , , , .Category, , , .HelpFilePath End With End Function 期望: 我想获得参数帮助,Excel函数向导中的函数描述作为其他内置函数。 用帮助button链接到我的帮助文件。 结果: Error number: 1004 Application-defined or object-defined error 要么 Method "MacroOptions" of object "_Application" failed 有什么(或一切)错误吗? 我有10种function,每次加载插件时都需要将它们自动添加到Excel函数向导中。

如果行中有匹配,则返回列名,查找多个匹配项

我有一个桌子,部分如下; ————— | Part number | ————— | 123456 | | 16D345 | | 16E099 | | 490586 | | 970884 | ————— 另一个像这样; ————————————————— | Part number | 940822 | 940922 | 170345 | 940222 | ————————————————— | 123456 | X | | X | X | | 16D345 | X | | X […]

将Sub转换为UDF(#VALUE!)

我有一个程序Sub ,运作良好。 我想把它转换成一个自定义的函数,但是当我在Excel中使用这个函数时会出现一个错误( #VALUE! ) Function ТридцатьТРи(Diapozon As Integer) 'для п/пр Dim k, n As Integer Dim parRange As Range Set parRange = Range("Diapozon") k = 0 n = 0 For Each Cell In parRange.Rows If Cell.Offset(0, 1).Value = 1 And k = -1 Then n = n – 1 End If If Cell.Value = […]

如果单元格突出显示,Excel用户定义函数

我创build了一个用户定义的函数来确定单元格是否突出显示一种特定的颜色,它在某些情况下有效,但不是我需要的; 基本上,它的作品时,该单元格永久突出显示该颜色,但我是基于条件格式和该function不起作用,如果单元格是由于条件格式的颜色。 Public Function Active(Rng As Range) As Boolean If Rng.Interior.Color = RGB(217, 151, 149) _ Then Active = True End Function 任何帮助,为什么将不胜感激。

Excel用户定义的引用dynamic单元格的公式

我有一个翻译公式,引用不同的条形码和名称列表。 该公式查找条形码,并用英文replace德语/法语。 我想将其制成一个用户定义的公式,但是当我这样做时,公式只对定义的单元格有效,并将该单元格的结果复制到所有单元格。 我怎样才能使这个function,所以它引用突出显示的单元格? 我的公式尝试 = INDEX(('\ server1 \ shared \ DOCUMENTS \ AMAZON [条形码到title.xlsx的索引] Sheet1'!$ B $ 1:$ B $ 781),MATCH(A3,('\ server1 \ shared \ DOCUMENTS \ AMAZON [Index条形码到title.xlsx] Sheet1'!$ A $ 1:$ A $ 781),0)) 当我在用户定义的公式中使用公式时,它不引用相邻的单元格,而是用于制作公式的单元格。 我想实现,但我不知道如何改变MATCH(A3部分到可选单元格。

用户定义函数从单元获取超链接地址

我正在尝试使用我自己的用户定义函数来填充单元格的内容。 特别是,我试图使单元格的内容是在同一工作表中的超链接单元格的URL地址。 我不断收到#VALUE! 错误。 我的function如下所示: Function GetAddress(myCell As Range) As String Dim temp As String temp = myCell.Hyperlinks(1).Address GetAddress = temp End Function 我已经尝试了几个不使用temp的变体,但直接分配GetAddress输出,这仍然不起作用。 如果我返回myCell.Address它给我正确的单元格地址,但一旦我尝试获得超链接地址有问题。 我见过的每个例子都做不到。 有谁知道这可以做到吗?

是否可以在Excel UDF中使用反斜杠“\”字符?

我已经在这里回答了类似的问题. 在一个名字,但我不确定相同的规则是否适用于反斜杠。 是否可以在VBA中编写一个名称中包含句点的UDF? 如果UDF是在外部库中编写的,那么该库允许在函数名称中使用反斜杠,并且Excel是否允许我在工作表公式中使用该函数名称? 擅长要求我以某种方式逃避angular色? 或者,也许反斜杠用于逃避另一个字符是有效的?

从Excel调用R-UDF

我想要在Excel中调用R函数并将结果返回给Excel中的函数(采用Excel-Arguments)。 RExcel似乎不在CRAN(已经),我还没有find一个替代scheme。 有谁知道一个办法来实现这一目标? 一个限制是即使没有Windows Vista的pipe理员权限,该解决scheme也应该可以工作。 编辑:感谢您的评论。 我们已经尝试过R.Net,但收效甚微。 我们去了: using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using ExcelDna.Integration; using System.Windows.Forms; using RDotNet; using RDotNet.NativeLibrary; public static class MyFunctions { [ExcelFunction(Description = "Test R connection")] public static double MyRTest(double x) { var envPath = Environment.GetEnvironmentVariable("PATH"); var rBinPath = @"D:\Programme\R\R-2.15.1\bin\i386"; Environment.SetEnvironmentVariable("PATH", envPath + Path.PathSeparator + […]

#在Excel中使用自定义函数的错误值

当我尝试调用自定义函数时出现#VALUE错误。 所有它应该做的是一些math。 有没有人看到这里可能是错的? 我从互联网上复制这一个: 资源: Linear Interpolation VBA Function in Excel Function LININTERP(x, xvalues, yvalues) 'x and y values must be in ascending order from top to bottom. 'x must be within the range of available data. x1 = Application.WorksheetFunction.Index(xvalues, Application.WorksheetFunction.Match(x, xvalues, 1)) x2 = Application.WorksheetFunction.Index(xvalues, Application.WorksheetFunction.Match(x, xvalues, 1) + 1) y1 = Application.WorksheetFunction.Index(yvalues, Application.WorksheetFunction.Match(x, […]