Mac Excel 2011 VBA UDF不工作 – SET或FIND命令似乎是问题

我正在将电子表格从Excel 2007转换到Mac Excel 2011.我已经尝试了几个小时来解决我的问题,没有成功,所以任何帮助将不胜感激!

这个UDF在一个范围内find一个string,然后在find的单元格下面返回一个单元格的值。 SET命令在Mac版本中不返回任何内容,但在Excel 2007中可用。

Function FindRng(Fnd As String) Application.Volatile Dim Rng As Range If Fnd = "" Then FindRng = 0 GoTo 109 End If With Sheets("Matrix").Range("G2:FZ13") Set Rng = .Find(What:=Fnd, _ After:=.Cells(2, 7), _ LookIn:=xlValues, _ LookAt:=xlWhole, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False) If Not Rng Is Nothing Then FindRng = Sheets("Matrix").Cells(Rng.Row + 1, Rng.Column).Value Else FindRng = 0 End If End With 109 End Function 

查找不起作用在2011年从一个单元格调用的UDF(PC版本之前的Office XP中存在的相同的问题),所以你要么必须循环和testing每个单元格(加载到数组中的数据应该比逐个读取)或者使用application.match一次处理一行。