软件:EXCEL
版本:2010
自订函数如下:
Function ShowOnly(范围, 第几个)
首栏 = 范围.Column: 首列 = 范围.Row
Set 第一格 = Cells(首列, 首栏)
For Each cell In 范围
计数 = 计数 + 1
出场 = Application.CountIf(Range(第一格, 第一格.Offset(计数 - 1)), cell)
If 出场 = 1 Then 真的数 = 真的数 + 1
If 真的数 = 第几个 Then ShowOnly = cell: Exit Function
Next
If ShowOnly = 0 Then ShowOnly = "Not Available": Exit Function
End Function
说明:
这是类似UNIQUE函数的自订函数 目的是输出不重复项目
举例 在工作表1 A1:A10分别为 A、B、C、B、C、D、D、E、F、G
则 B1 = ShowOnly($A$1:$A$10, ROW(A1)) = A
B1 以下复制 B2:B7 则为 B C D E F G
现在发现的问题是在同一工作表中执行没问题 但如果自订函数写在别的工作表
例如工作表2 B1 = ShowOnly(工作表1!$A$1:$A$10,ROW(A1))
都会先出现 Not Available 直到回到工作表1重新输入后
才会正确执行
请问原因为何
我试着在开头加上 Application.Volatile 结果仍然一样
请赐教 谢谢