軟體: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 結果仍然一樣
請賜教 謝謝