0

我对 excel 很陌生,并且一直试图让这个 Countif 公式工作一段时间。我希望它从 AN p 列的第 12 行开始计数,直到最后使用的行。我现在非常接近,但是当我运行宏时,它给了我一个 REF 错误。

Sub Date1()
'
' Enter Date
'

Range("B15") = InputBox("Enter Date")


Dim LR As Long
LR = Sheets("Design Risk Scoring Sheet").Range("AN" & Rows.count).End(xlUp).Row

Range("B16").FormulaR1C1 = _
"=COUNTIF('Design Risk Scoring Sheet'!R[-4]C[38]:RC[38](" & LR & "), ""<"" & R[-1]C )"

End Sub

这是我在运行宏时在公式单元格中得到的

=COUNTIF('Design Risk Scoring Sheet'!AN12:AN16(163), "<" & B15 )

理想情况下,它应该是 AN163 而不是 16。我尝试删除 RC[38] 并放置 AN,但我得到 AN(163),它给出了 #NAME 错误,如果我删除 (" & LR & ") 中的括号,那么我在公式中获取单引号:

=COUNTIF('Design Risk Scoring Sheet'!AN12:'AN163', "<" & B15 )

我不知道如何解决这个问题?

4

2 回答 2

0

试试这个..

Range("B16").FormulaR1C1 = _
"=COUNTIF('Design Risk Scoring Sheet'!R[-4]C[38]:RC[38](" & LR & "), < & R[-1]C )"
于 2013-08-21T15:04:55.013 回答
0

备用:

Sub Date1()

    Dim sDate As String

    sDate = InputBox("Enter Date", "Date Entry", Format(Now, "m/d/yyyy"))
    If Len(sDate) = 0 Then Exit Sub 'Pressed cancel

    If Not IsDate(sDate) Then
        MsgBox "[" & sDate & "] is not a valid date.", , "Exiting Macro"
        Exit Sub
    End If

    Range("B15").Value2 = DateValue(sDate)
    Range("B16").Formula = "=COUNTIF(AN12:AN" & Cells(Rows.Count, "AN").End(xlUp).Row & ",""<""&B15)"

End Sub
于 2013-08-21T15:59:42.417 回答