Tag: excel udf

在数组中find单元格中有多less单词

我有两列数据。 第一个词有一些词,另一个词包含单个词。 我拥有的 我正在寻找一种方法来确定第一列的每个单元格中的哪些单词出现在第二列中,所以结果应该如下所示(我不需要逗号): 我需要什么 我的问题有点类似于Excel查找单元格范围内的search值是在单元格内,但不完全,因为我需要确定哪些单词出现在第二列,可以有多个单词。 我也试过=INDEX($D$2:$D$7;MATCH(1=1;INDEX(ISNUMBER(SEARCH($D$2:$D$7;A2));0);))但它也只返回一个字。

VBA词典结果不能正确返回

我正在尝试使用字典来查找column F column C 键值 column C column F 值 。 但结果不会像我想要的那样回报。 它显示“0” 场景: 在column C 键将具有多个相同的值 2.我想根据按键总结column F所有值 ,并返回到"RAW" Range("C2") "Sheet2" "RAW" 请帮帮我。 提前致谢。 在这里我的代码。 Option Explicit Private Lrow As Long Private oDict As Object Private Sub CreateDict() Dim arrValues As Variant, oKey As Variant, oValue As Variant, i As Long 'Find Master Item […]

处理Excel UDF中的追踪单元?

可能重复: 在UDF上使用Excel内置函数 我的Excel UDF当前返回一个由数字数据和单位组成的string,例如1234 kg 。 用户阅读简单易懂,但问题在于它会阻碍Excel内置函数(如Sum() , Average()等Average()一些基本计算。 对于上述格式,即1234 kg ,使用公式=Sum()将不会带来正确的结果,除非拖尾单位kg被移除。 所以我的问题,有什么办法可以让我们在保持单位的同时进行计算? Excel可以识别1234 kg作为数值而不是string值吗?

“Microsoft Office Excel正在等待其他应用程序完成OLE操作”是什么意思?

我有一个工作RTD Excel自动化插件类似于这里描述的。 间歇性地尝试加载包含此公式的工作表时,出现以下错误: Microsoft Office Excel正在等待另一个应用程序来完成一个OLE操作。 我已经选中并取消选中“忽略使用dynamic数据交换(DDE)”的其他应用程序(根据一些论坛讨论(我无法再find))。 两者都行不通。 谷歌产生这个错误,但没有解决scheme很多点击。 这里有一个古老的知识基础文章,但也没有解决。 什么是造成这个错误? 有什么我可以做,以避免它? 谢谢!

Excel计算后为string返回#value

这个用户定义的函数计算一些值; 根据这个我需要在调用单元格中返回一个string。 函数中的MsgBoxtesting工作,但在单元格中,我只获得#value! 错误。 为什么? Function WoodClassify(Length As Double, Girth As Double, Description As String) As Double Dim cubicMeter As Double Dim Classification As String If Length > 250 Then MsgBox ("TG B(I)") Classification = "TG B(I)" ElseIf Length > 100 Then Classification = "XXXXXXX" Else Classification = "WWWWWWWW" End If WoodClassify = Classification End […]

使用FindNext的UDF似乎中止没有警告

我有以下用户定义函数,它试图find范围中的第n个非空单元格: Option Explicit Function finn_prioritert_oppgave(nummer As Long) As String Dim i As Long, r As Range, c As Range Set r = Range(PDCA.Range("L9"), PDCA.Range("L1048576").End(xlUp)) i = 1 Set c = r.Find(What:="*", LookIn:=xlValues, LookAt:=xlWhole) While (Not c Is Nothing) And (Intersect(c, PDCA.Rows(9)) Is Nothing) And (i < nummer) Debug.Print c Set c = r.FindNext(c) Debug.Print c […]

Excel UDF不会出现在下拉菜单中

我在Excel中写了一个用户定义的函数。 它工作很好,没有问题。 我甚至在对象属性菜单下为它写了一个描述。 问题是,当我开始键入函数时,我的UDF从不出现在显示的Excel下拉菜单中。 我希望用户能够看到我的UDF,名为removeNumbers,当他们进入一个单元格,并开始input一个函数。 我也希望他们能够看到我写的描述,就像标准的Excel函数一样。 最后,是否有一种方法可以提供我的函数作为input的每个参数的描述? 这里是实际的代码,虽然我不认为有必要回答我的问题。 Function removeNumbers(sInput As String, sChoice As Boolean) As String Dim sSpecialChars As String Dim i As Long If (sChoice = True) Then 'if true is selected, will remove all number including 0 sSpecialChars = "0123456789" 'This is your list of characters to be removed For i = […]

具有无限参数的UDF

我正在写一个用户定义函数(UDF),它将一些单元格作为参数。 这些单元格包含相同的数据,但具有不同的精度; 该function显示可用的最佳精度。 函数的参数是按照上升精度的顺序写的。 这是一个例子: +—+—————–+———————+ | | A | B | +—+—————–+———————+ | 1 | Best | =get_best(B5;B4;B3) | | 2 | | | | 3 | provisional | 1 | | 4 | definitive | 2 | | 5 | etched in stone | 12 | +—+—————–+———————+ 函数显示12,因为单元格B5中的信息比B4和B3的值更好。 由于这个原因,B5写在公式列表中的B4和B3之前。 我的UDF代码如下: Public Function get_best(r1 […]

VBA:从2列函数返回string

我没有编码背景,但一直很好奇,试试看。 我到目前为止一直很享受,但最近却被困住了。 我已经用尽了有限的理解和研究,试图找出这一点,所以任何帮助,非常感谢! 我的函数接受一个string并将其创build为一个数组。 然后,我search数组中的特定string,并将其输出为数字和date。 我已经成功做到了这一点,但无法弄清楚如何让VBA在电子表格的两列中返回这些结果。 这似乎只给我For函数的最后结果。 这里是使用Excel 2016和VBA的代码: Function test() As Variant Dim data As String: data = "push.29Sep17 and 333>! push.28Sep17 and 55555>! push.27Sep17 and 4444>!" Dim day() As String: day() = Split(data, "!") Dim num As Integer: num = UBound(day) – 1 For i = 0 To num Dim p1 As Integer: […]

能不能exceba vba函数打开一个文件?

我正在定义一个函数来保存文件为.xls格式: Public Function save_as_xls(full_file_path As String) As String save_as_xls = "" Dim src_file As Workbook Set src_file = Workbooks.Open(full_file_path) src_file.SaveAs filename:=full_file_path, FileFormat:=xlExcel8 src_file.Close save_as_xls = "OK" End Function 然后在Excel单元格公式中调用它=save_as_xls("c:\temp\test.xls") 但是,它不起作用, src_file从Workbooks.Open得到Nothing vba函数有没有限制,无法打开文件? 我只知道它不能写入其他单元格。