返回列表 上一主題 發帖

[發問] 自訂函數:跨工作表範圍引數出現錯誤

[發問] 自訂函數:跨工作表範圍引數出現錯誤

請問各位高手
  1. Function avg(Rng As Range, dataN%)
  2. Dim xRng As Range, Tf As Boolean
  3. Set xRng = Range(Rng, Rng.Offset(0, dataN - 1))
  4. Tf = WorksheetFunction.Count(xRng) = dataN
  5. If Tf Then
  6.     avg = WorksheetFunction.Average(xRng)
  7. Else
  8.     avg = ""
  9. End If
  10. End Function
複製代碼
在set xrng 處,執行中因為會傳入不同工作表的範圍,但在執行時出現「應用程式或物件定義上的錯誤」
檢查資料時,也並沒發現起始範圍不對,偏偏用迴圈丟入範圍及dataN時,會不定時發生錯誤
函數是不是有更好的寫法?

麻煩大家不吝指教,謝謝
不進則退

回復 1# mnsmrtl
  1. Function avg(Rng As Range, dataN%)
  2.     Dim xRng As Range, Tf As Boolean
  3.     If dataN% = 0 Then Exit Function
  4.     Set xRng = Range(Rng, Rng.Offset(0, dataN - 1))
  5.     Tf = WorksheetFunction.Count(xRng) = dataN
  6.     If Tf Then
  7.         avg = WorksheetFunction.Average(xRng)
  8.     Else
  9.         avg = ""
  10.     End If
  11. End Function
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

感謝回復,已解決~~
不進則退

TOP

        靜思自在 : 人生沒有所有權,只有生命的使用權。
返回列表 上一主題