excel - 计算列 Range 中的 countif 并结合 if 与 count if

新来的 :)

我有 2 个公式需要转移到 VBA,但不幸的是,它不能正常工作。

在 Excel 上,我的公式是 =countif(A$2:A2,A2),所以我使用这个公式转移了它,但一切都返回到 1。这些行根本没有变成动态的,我只想显示 values。

For a = 2 To lrow
    ws.Range("T" & a).Formula = "=CountIf(A$2&"":""&A2)"",""&A2)"
Next a

我在 Excel 中使用的下一个公式是

=IF(COUNTIF(A:A,A2)>Q2,"Check","Ok")

我什至不知道如何用它填充所有内容。

*编辑

我在 VBA 中尝试了这个公式:

For i = 2 to lrow

If Countif(ws.Range("A2:A" & lrow), "A2") > ws.Range("Q2:Q", & lrow) Then
ws.Range("T" & i).Value = "Check"
Else
ws.Range("T" & i).Value = "Ok"

End If

Next i

我希望那里有人可以帮助我。

回答1

您可以使用以下代码行使用您的第一个公式填充列 T:

ws.Range("T2:T" & lrow).FormulaR1C1 = "=COUNTIF(R2C[-19]:RC[-19],RC[-19])"

除非您澄清要在哪里写,否则我无法就您的第二个公式提供建议...