Tag: excel udf

Excel UDF用于捕获字符中的数字

我有一个坐在单元格A1中的variables文本字段,其中包含以下内容: 文本; #NUMBER; #Text; #NUMBER 这种格式可以不断重复,但模式始终是文本;#编号。 数字可以从1位数到n位数(限制7) 例: 原始值 MyName;#123;#YourName;#3456;#HisName;#78 所需值: 123, 3456, 78 从我的理解来看,这个领域对于excel公式来说太可变了。 我尝试使用正则expression式,但我是一个初学者,当谈到编码。 如果你可以用一些解释文本分解代码,那将是非常感谢。 我已经尝试了下面的一些build议,他们完美的工作。 还有一个问题。 现在我可以从文本中拆分数字了,有什么方法可以利用下面的代码并添加另一个图层,在这里我们将数字拆分成x个单元格。 例如:一旦我们运行这个函数,如果我们得到1234,567在同一个单元格中,那么函数会把1234放在B2单元格中,567单元格放在C2单元格中。 这将不断更新同一行中的所有单元格,直到string耗尽了从函数中检索的所有数字。 谢谢

excel函数语法调用错误

我已经创build了这个function: Public Function getLastCellValue(ByVal row As Integer, ByVal column As String) As String If (Cells(row, column).Value = "") Then getLastCellValue = getLastCellValue(row – 1, column) Else: getLastCellValue = Cells.Item(row, column).Value End If End Function 当我在一个单元格中使用它时: =getLastCellValue(1,"C") Excel告诉我,该函数包含一个错误,并着重于第二个参数: "C" 。 我疯了,因为我不明白这个错误。

将udf复制到新的工作簿

我有一个工作簿,5张满UDF(用户定义的函数)。 我需要将这5张表复制到一个新的工作簿,但我只需要值。 问题是,当我复制这些工作表时,UDF的所有单元格都被#value打破了,因为我没有这个新的工作簿的macros。 我不能复制该模块,因为许多用户将使用此工作簿,也许他们的Excel不会允许我操纵vba project 。 我试图复制和粘贴工作簿之间的值,但它不起作用。 我认为这是因为我的工作表有很多合并的行和列。 Excel显示一条错误消息。 我会在这里从葡萄牙语翻译成英文,也许Excel不使用这个完全workd: 该选项要求合并的单元格大小相同。 我不明白这个错误。 我甚至试图手动做到这一点:复制整个工作表(右键单击,移动和复制),然后select我原来的工作簿上的所有使用的范围,CTRL + C,然后select新工作簿中的第一个单元格,然后Ctrl + V和然后只粘贴值。 而Excel会引发错误。 我也尝试在按下ctrl + v之前select新工作簿上的整个范围。 同样的问题。 我不知道该怎么办。 我现在正在做的是复制和粘贴我的原始工作簿中的值,然后将整个工作表复制到一个新的工作簿。 问题是,这个行为毁了我原来的工作簿,所以我必须closures它,重新打开,我不想做的事情。 任何人有任何想法如何进行?

SQLSTATE = 39501,同时使用UDF和Excel for DB2

我想从Excel中获取数据到一个db2数据库,然后将其导出到ixf。 这里是源文件(ddl文件) connect to MYDB drop function ARTIKEL_MATNR; CREATE FUNCTION ARTIKEL_MATNR() RETURNS TABLE(Material VARCHAR(64), HerstellerteileNr VARCHAR(32), Hersteller VARCHAR(5)) LANGUAGE OLEDB EXTERNAL NAME '![IH09_Material$]!Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\excel_imp\150202_Bestand_SASPF_GBP.xls; Extended Properties="Excel 8.0;HDR=YES"'; select count(*) FROM TABLE(ARTIKEL_MATNR()) AS T; INSERT INTO QV_ARTIKEL_MATNR (MATNR, TKZ, HSTK) SELECT SUBSTR(Material,1,64), SUBSTR(HerstellerteileNr,1,32), SUBSTR(Hersteller,1,5) FROM TABLE(ARTIKEL_MATNR()) AS T; select count(*) from QV_ARTIKEL_MATNR; EXPORT TO C:\excel_imp\ARTIKEL_MATNR.ixf […]

在“插入function”提示中禁用excel UDF计算

有什么办法来禁用一个Excel的UDF函数(我目前正在使用excel的DNA库),当它被称为“插入function”提示? 我的Excel UFD函数使Web服务调用,并在“插入函数”提示上的这种行为是重载服务器(每个用户键入调用函数)。 有人知道如何禁用此function?

UDF删除单元格中的特殊字符,标点符号和空格以为Vlookups创build唯一键

我在VBA中一起攻击了下面的用户定义函数,允许我从任何给定的单元格中删除某些非文本字符。 代码如下: Function removeSpecial(sInput As String) As String Dim sSpecialChars As String Dim i As Long sSpecialChars = "\/:*?™""®<>|.&@#(_+`©~);-+=^$!,'" 'This is your list of characters to be removed For i = 1 To Len(sSpecialChars) sInput = Replace$(sInput, Mid$(sSpecialChars, i, 1), " ") Next removeSpecial = sInput End Function 代码的这一部分显然定义了要删除的字符: sSpecialChars = "\/:*?™""®<>|.&@#(_+`©~);-+=^$!,'" 我也想在这个标准中包括一个正常的空格字符“”, 我想知道是否有某种我可以用来做这个的转义字符? 所以,我的目标是能够运行此function,并从给定的Excel单元格中删除所有指定的字符,同时也删除所有空格。 […]

Excel VBA单元尽pipe有价值返回“0”

我正在开展一项工作,我需要使用Google的oAuth 2.0集成function从Excel中获取Google Analytics API的访问令牌。 最初的请求通过传递存储在我的工作表单元中的客户端ID,密钥和身份validation令牌起作用。 我正在使用的UDF看起来像这样: Public Function GetGAAuthenticationToken _ (ByVal ClientId As String, _ ByVal ClientSecret As String, _ ByVal code As String, _ accessToken As String, _ RefreshToken As String, _ accessTokenExpires As Date) 'Has token expire? If not, don't renew the access token. Dim Token(2, 0) Dim Refresh As Boolean: Refresh = […]

将Excel UDF放入工作表对象(而不是在模块中)

我怀疑答案是“不可能的” – 但问这个好社区没有什么坏处! 我有一个Excel 2013 UDF(用户定义函数)是特定于某个工作表。 目前,我在包含工作簿的“模块”中有这个UDF。 但是我想要做的是将UDF代码放在“工作表对象”中,这样​​它才可用于特定的工作表。 当然,我已经尝试过,但是不可见,所以我自然会得到一个#NAME? 错误。 我已经尝试过使用公共函数(反正会击败对象),但无济于事。 有谁知道一个特定的伎俩? 在此先感谢,尼克。

构build一个用于多键查找的快速Excel VBA UDF

我在一个工作簿中有几个相当大的数据表,需要使用Excel用户定义的函数来查找这些表中的数据。 我需要能够提供可变数量的键列和键值来search,并且函数需要find第一个匹配的行,然后使用此偏移量在相应的数据列中查找值。 有点像VLOOKUP的多键版本。 我知道你可以创build一个单一的键,由第1栏中的各个键组成,但是我想避免这样做。 我已经创build了这个函数的几个版本,到目前为止最好的版本工作正常,除了它很慢 ! 我的一个表格是接近9000行11列,我正在使用一个6字段的键。 我有大约18000次这个公式,重新计算工作表大约需要3分钟(我计算出有9.7亿个计算公式,所以当然会很慢)。 它使用了Evaluate()和我所见过的许多解决scheme。 代码如下: Function KeyLookup(datatable As Variant, datacol As String, _ key1table As Variant, key1 As String, _ Optional key2table As Variant, Optional key2 As String, _ Optional key3table As Variant, Optional key3 As String, _ Optional key4table As Variant, Optional key4 As String, _ Optional key5table As […]

为什么我的XLL比我的UDF慢?

我一直试图通过使用XLL来加速macros,但是,对于UDF而言,使用XLL似乎要快得多。 有些代码分析的数据certificate了这一点 XLL时间为子Proc:模块1迭代11.64831秒 UDF时间为子Proc:模块1迭代4.25986秒 它发生在我已经转换的两个UDF上,因子慢了2倍或3倍。 例如,XLL函数是这样的: [ExcelFunction(Description="Joins cell values", Category="Example1")] public static object RangeJoin(object[,] cells) { List<string> list = new List<string>(); foreach (object o in cells){ if ( !(o is ExcelEmpty) ) list.Add(o.ToString()); } return string.Join(" ", list.ToArray()); } UDF函数是 Function RangeJoin(Rng As Range) As String Dim vArr As Variant Dim v As Variant vArr […]