Tag: 用户定义的函数

如何在Excel UDF中使用常量值?

我一直在努力想出在Excel中的UDF。 基本上我正在寻找的是一个函数,将需要2个input参数(常量)由用户提供,然后该函数将返回预先存储在Excel表中某个地方的值之一。 以下是它的样子: 月高峰closures 1月320 176 二月320 128 三月368 252 四月352 128 5月305 320 函数将如下所示:=小时(2月,高峰),然后返回2月高峰小时等。 我感谢所有的帮助。 非常感谢 编辑:代码添加为评论 Public Function calculateHours(ByVal mo As Variant, ByVal period As Variant) As Integer Dim tablette As Range Set tablette = Worksheets("Hours").Range("U4:V15") Set valueRange = Worksheets("Hours").Range("U4:U15") period = "peak" For Each ref In valueRange mo = WorksheetFunction.VLookup(ref, tablette, 1, […]

将行范围传递给Excel用户定义函数并将其分配给数组

我在尝试着 将两个范围(多列单行)传递给Excel 2007中的用户定义函数, 然后将其分配给一个数组进行处理。 函数MAE(actualData As Range,forecastData As Range)As Double Dim data Dim forecast Dim error As Double Dim average As Double Dim i As Long data = Application.Transpose(actualData) forecast = Application.Transpose(forecastData) average = 0 error = 0 For i = 1 To UBound(data) error = data(i) – forecast(i) If error < 0 Then error […]

Excel UDF参数返回单元格引用而不是值

这是自Excel 7.0以来我第一次进入用户定义的函数。 所以我很确定我正在做一个新手的错误。 我在input公式的单元格中收到#VALUE错误。 当我使用错误检查来显示计算步骤时,它将函数参数作为单元格引用而不是值来计算。 单元格中的公式: =路面NPV(P2,U2,T2,R2,Y2,Z2,AA2,I2,J2,K2,B2,W2,V2,X2) 错误检查窗口说明公式完全与所有单元格引用下划线和X2斜体。 底部是下一个评估将导致错误的消息。 错误是#VALUE。 单元格中的值: P2 = 10 U2 = 63.17986 T2 = 10 R2 = 3 Y2 = $ 0.28 Z2 = $ 1.32 AA2 = $ 2.58 I2 = 14000 J2 = 45 K2 = 60 B2 = 292 W2 = 73.17986 V2 = 8 X2 = […]

在VBA中使用函数内的数组

我似乎无法find这个问题的答案: 我可以在Excel VBA中创build一个用户定义的函数,使用某个子过程中的数组,然后在Excel中使用该函数返回一个值? 从这个网站( http://www.cpearson.com/excel/passingandreturningarrays.htm )我发现这个例子: Sub AAATest() Dim StaticArray(1 To 3) As Long Dim Result As Long StaticArray(1) = 10 StaticArray(2) = 20 StaticArray(3) = 30 Result = SumArray(Arr:=StaticArray) Debug.Print Result End Sub Function SumArray(Arr() As Long) As Long ''''''''''''''''''''''''''''''''''''''''''' ' SumArray ' This sums the elements of Arr and returns ' the total. […]

简洁的R代码相当于Excel中的sumif函数 – 特别适用于数据框行

我需要从数据框中的一个列子集中有select地添加行的值。 值可以是0,1,2或3的整数。2s和3s的总和(不是2s和3s的计数,这很容易)给出了我们所测量的“强度”。 假设我的数据框是60列,我只想看看第二到第十一列。 实现这个(单向)的excel代码是相当简单的: =sumif(a2:a11,">1") 。 这将在该范围内添加所有2s和3s。 尽pipe过去我使用了aggregate() ,但是在这个话题上的大部分答案并不是真的想要做我期望做的事情,而且我也无法find一种方法让aggregate()以我的方式运行需要。 我也很困惑,试图让rowSums()来做到这一点。 最终我意识到我可以做到以下几点: apply(data[,2:11], 1, function(x)sum(2*(x==2), 3*(x==3), na.rm=T)) 这是迄今为止我发现复制我的特定期望的行为相当于Excel的sumif最快,最优雅的方式。 如果有人有更好的方法,我会很高兴听到。

如何将自定义对象或double 从ExcelDna返回到Excel中的单元格?

理想情况下,我的UDF将以double [,],double []的forms或作为自定义对象返回一些双重结果。 我希望它被全部存储在Excel中的一个单元格中,然后使用另一个UDF来提取它们。 它类似于caching计算的结果,并在以后按需显示。 可能吗?

用户定义的函数不会在Excel中更新

可能重复: 刷新Excel VBA函数结果 我在Excel中有简单的function: Function Test() As String Test = Now End Function 我可以使用它: 现在为什么当我按下button时: 该值不更新! 例如,如果我有一个公式=Rand()的单元格,每次单击计算值,我将得到一个不同的数字。 我怎样才能使我的自定义函数的行为方式相同?

VBA列循环

我有一个大的Excel文件,我需要完全replace12列中的所有值。 现在,在每个单元格中都有一个公式,我需要用我自己的公式replace这个公式。 我如何遍历所有这些列,知道它在哪一行开始,但不知道最后一行(文件不断更新)。 “A600000”的破解看起来过分。 我是新来的VBA和一些指导将非常感激。

具有十进制types参数的Excel VBA用户定义函数

我正在Excel中编写VBA中的用户定义的函数。 我调用这个函数的参数是十进制值。 例如: Public Function fcn(param1 as Decimal, param2 as Decimal) … End Function 但我似乎不能将我的参数定义为十进制types?

如何通过VBA或Excel公式从文本string中提取特定的字母和数字

我想从excel中的列中的较大string中提取文本和数字的组合。 我必须处理的常量是每个文本string将 或者从A,C或S开始,然后 将永远是7个字符长 他想要提取的string的位置各不相同。 例如; COB0012 WP0402电子付款 – 中小企业顾问 DCPY708 A850035 WP161configurationpipe理器核心一般(Aman Ranjan)A614019 WP0302 SQL 2005升级项目 – WFCopiesChq – 下一阶段SUTP016 EPM培训T2 产量 COB0012 A850035 SUTP016 我有标准的左/右/中/searchfunction的知识,但是我的数据集是变化很大,所以我想创build一个自动化这个过程的东西。 (1000行) 我想像一个UDF函数可以做到这一点,但是我和UDF的相似性是非常基本的。 任何帮助将非常感激。