【发布时间】:2020-05-25 07:12:31
【问题描述】:
调试代码错误后,粗体线以黄色突出显示。运行时错误'91'。我是 VBA 新手,因此需要有关如何在单个命令按钮上编写这些公式并在 P、Q、R 列中获取结果的帮助。公式应该遍历所有 2500 行吗? 公式是
IF(E2="",0,2)
IF(F2="",0,COUNTIFS(A:A,A2,E:E,F2))
(COUNTIFS(A:A,A2,E:E,E2))-1
Private Sub CommandButton1_Click()
Dim sh As Worksheet, lastRow As Long
**lastRow = sh.Range("F" & Rows.Count).End(xlUp).Row**
sh.Range("P2:P" & lastRow).Formula = "=IF(E2="""",0,2)"
sh.Range("Q2:Q" & lastRow).Formula = "=IF(F2="""",0,COUNTIFS(A:A,A2,E:E,F2))"
sh.Range("R2:R" & lastRow).Formula = "=(COUNTIFS(A:A,A2,E:E,E2))-1"
End Sub
I want the formula to work on click of button
The image shows the error
How to solve it?
[1]: https://i.stack.imgur.com/Vue2U.jpg
【问题讨论】:
-
那么,每一个这样的公式都应该写在那三列中?首先是PP,然后是Q:Q等等?讨论中的所有列是否具有相同的行数,等于 A:A 中的行数?
-
第一个公式将应用于 P 第二个 Q 和第三个列 R。是的所有列的行数相同
-
我的回答没有回答你的问题?
-
你测试了我的答案代码吗?尝试使用时请刷新页面...
标签: excel vba loops excel-formula