繁体   English   中英

Function 在 VBA 但不在电子表格中运行

[英]Function runs in VBA but not the spreadsheet

我有一个我认为相对简单的 function 我正在运行的地方,我基本上是想找出有人在队列中等待回电的时间。 当我在 VBA 选项卡中时,它运行得很好,但是当我在电子表格中调用 function 时,我得到一个#REF。 错误。

    Function TIQ2()

    Dim time, count, i As Integer
    Dim TIQ
    time = 0
    count = 0

    NumRows = Sheet1.Range("A2", Sheet1.Range("A2").End(xlDown)).Rows.count + 1

    For i = 2 To NumRows
        If Sheet1.Range("c" & i) = "no" Or Sheet1.Range("c" & i) = "No" Then
    
            If Sheet1.Range("d" & i) = "No" Or Sheet1.Range("d" & i) = "no" Then
            time = time + Left(Sheet1.Range("g" & i), 2)
            count = count + 1
            Debug.Print time, count
        End If
    End If
  Next

  TIQ2 = WorksheetFunction.RoundUp(time / count, 0) & " minutes"
  Debug.Print TIQ2

End Function

尝试更改此行。 一些 excel function 需要这个语法

 TIQ2 = WorksheetFunction.RoundUp(time / count, 0) & " minutes"

'-------------------
 TIQ2 =ThisWorkbook.Application.WorksheetFunction.RoundUp(time / count, 0) & " minutes"
Option Explicit

'Public Function fnHelloWorld()
'Function fnTIQ()
Function TIQ2()
    MsgBox "Hello World!"
End Function

Sub Test()
    Call TIQ2
End Sub

尝试这个...

前两个 function 声明工作正常,但第三个不行。 #REF 错误是由于 TIQ2 function 名称也是@EvR 所说的单元格引用而产生的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM