Coupon syntahx在vba
我正在编写一个循环,我想知道为什么我的macros不起作用。 macros观的想法是确定一个月的周数。 在知道一个月的工作日的名字后,我可以在一周的时间内确定这个事件的发生次数。 她是这样的:
Dim dbNbSemaines As Double Dim strAbrevJourMois As String strAbrevJourMois = Range("E4").Value If strAbrevJourMois = "lun" Then Range("A404").FormulaR1C1 = "=COUNTIF(E4:AB4,""lun"")" dbNbSemaines = Range("A404").Value ElseIf strAbrevJourMois = "mar" Then Range("A404").FormulaR1C1 = "=COUNTIF(E4:AB4,""mar"")" dbNbSemaines = Range("A404").Value ElseIf strAbrevJourMois = "mer" Then Range("A404").FormulaR1C1 = "=COUNTIF(E4:AB4,""mer"")" dbNbSemaines = Range("A404").Value ElseIf strAbrevJourMois = "jeu" Then Range("A404").FormulaR1C1 = "=COUNTIF(E4:AB4,""jeu"")" dbNbSemaines = Range("A404").Value ElseIf strAbrevJourMois = "ven" Then Range("A404").FormulaR1C1 = "=COUNTIF(E4:AB4,""ven"")" dbNbSemaines = Range("A404").Value
万一
当我到包含countif公式的A404单元格时,它会返回一个#NOM?
它包含一个=NB.SI('E4':'AB4';"lun")
。 我怎样才能在VBA中写入在COUNTIF公式中插入范围E4:AB4?
谢谢你的帮助
简单的select案例就足够了。
Dim dbNbSemaines As Long Dim strAbrevJourMois As String strAbrevJourMois = LCase(Range("E4").Value) Select Case strAbrevJourMois Case Is = "lun", "mar", "mer", "jeu", "ven" Range("A404").Formula = "=COUNTIF(E4:AB4,""" & strAbrevJourMois & """)" dbNbSemaines = Range("A404").Value End Select
更改:
Range("A404").FormulaR1C1 = "=COUNTIF(E4:AB4,""lun"")"
至
Range("A404").Formula = "=COUNTIF(E4:AB4,""lun"")"
(对于其他公式也是如此)
如果你想坚持`.FormulaR1C1那么你将不得不写
Range("A404").FormulaR1C1 = "=COUNTIF(R[-400]C[4]:R[-400]C[27],""lun"")"