【发布时间】:2016-11-17 13:50:21
【问题描述】:
大家下午好,
目前面临一个 VBA 问题,其中“记录宏”功能确实有效,但是当我尝试重新运行它时,它给了我 1004 错误。 我记得我可以做三件事:
- 将公式拆分成部分,然后参考公式中的下一部分(即第2部分= abc+def+ghi,因此公式为123+3456+____,然后将__替换为第2部分)
- 将公式作为文本放在不同的单元格中,然后引用公式中的那些单元格(公式为 cell("a1").value(?) + cell("b2").value(?)
- 为代码的某些部分指定一个特定名称,以便缩短公式(即 abc = 'INPUT - MOTC!' 然后在公式中引用 abc
尤其是第 2 部分,我可以使用一些帮助,因为我不知道确切的参考,而且我总是可以在 excel 中查看公式,而不是转到 VBA。
公式本身是:
ActiveCell.FormulaR1C1 = _
"=IF(WEEKDAY(RC2)=6,COUNTIFS('INPUT - MOTC'!C90,""confirmed"",'INPUT - MOTC'!C101,""1"",'INPUT - MOTC'!C74,""500"",'INPUT - MOTC'!C86,""<>C"",'INPUT - MOTC'!C47,""<""&R2C11,'INPUT - MOTC'!C45,""<""&R2C12,'INPUT - MOTC'!C93,""No"",'INPUT - MOTC'!C105,""No"",'INPUT - MOTC'!C99,""No"",'INPUT - MOTC'!C47,RC2)" & _
"+COUNTIFS('INPUT - MOTC'!C90,""confirmed"",'INPUT - MOTC'!C101,""1"",'INPUT - MOTC'!C74,""500"",'INPUT - MOTC'!C86,""<>C"",'INPUT - MOTC'!C47,""<""&R2C11,'INPUT - MOTC'!C45,""<""&R2C12,'INPUT - MOTC'!C93,""No"",'INPUT - MOTC'!C105,""No"",'INPUT - MOTC'!C99,""No"",'INPUT - MOTC'!C47,RC2+1)" & _
"+COUNTIFS('INPUT - MOTC'!C90,""confirmed"",'INPUT - MOTC'!C101,""1"",'INPUT - MOTC'!C74,""500"",'INPUT - MOTC'!C86,""<>C"",'INPUT - MOTC'!C47,""<""&R2C11,'INPUT - MOTC'!C45,""<""&R2C12,'INPUT - MOTC'!C93,""No"",'INPUT - MOTC'!C105,""No"",'INPUT - MOTC'!C99,""No"",'INPUT - MOTC'!C47,RC2+2)" & _
",COUNTIFS('INPUT - MOTC'!C90,""confirmed"",'INPUT - MOTC'!C101,""1"",'INPUT - MOTC'!C74,""500"",'INPUT - MOTC'!C86,""<>C"",'INPUT - MOTC'!C47,""<""&R2C11,'INPUT - MOTC'!C45,""<""&R2C12,'INPUT - MOTC'!C93,""No"",'INPUT - MOTC'!C105,""No"",'INPUT - MOTC'!C99,""No"",'INPUT - MOTC'!C47,RC2)"
是我做错了什么,还是公式太长了?
(小背景,我想把saturday&sunday的值加到friday的值上,所以如果weekday是6,那就加吧)。
提前致谢:)
【问题讨论】:
-
你为什么在你的公式中混合了 R1C1 样式和 common 样式?
-
使用 VBA 将公式放入单元格中,您应该只使用 R1C1 样式
-
R1C1 风格到底是什么意思?我在哪里不使用它?抱歉,这个主题相对较新。
-
啊,谢谢你的解释。这里的 C90 实际上是指第 90 列,'INPUT -MOTC'!$CL:$CL,所以我仍然遵守 R1C1 规则吗?
-
是的,你是 -
C90是正确的。