我想使用多嵌套公式来确定列A中的日期是否落在特定的月/年,使用诸如= if (AND(EXACT(TEXT(A8,"mmm"),"Jan",EXACT(TEXT(A8,"yyyy"),"2018"),"Y","N")等公式。但是,为了使此公式在VBA中更具动态性,我希望将"Jan“替换为我通过弹出输入框定义的自定义月份,因此
Dim mth As String
FormulaR1C1= "=IF(AND(EXACT(TEXT(RC[-2],""mmm"")," & mth & ",EXACT(TEXT(A8,""YYYY""),""2018""),""Y"",""N"")"当我这样做时,公式无法正确解析,因为"Jan“项出现时没有引号,因此两者不匹配:=IF(OR(EXACT(TEXT(A9,"mmm"),Jan)),"Y","N")
如何修改代码以获得输出中的"Jan“?
谢谢
编辑: Dim mth As String mth = "Jan“
Set FormulaRange = Range("C7:C15") FormulaRange.FormulaR1C1 =“=IF(AND(EXACT(TEXT(TEXT(RC-2,""mmm""),”“& mth &”“,”“,EXACT(TEXT(TEXT(A8,""YYYY""),""2018""),""Y"",""N"")”
发布于 2018-07-10 23:45:51
要在VBA中的字符串中使用双引号,您必须使用双qoutes "",即,当您编写""""时,它意味着包含一个双引号的字符串,因此您的代码应如下所示:
Dim mth As String
FormulaR1C1 = "=IF(AND(EXACT(TEXT(RC[-2],""mmm""),""" & mth & """),EXACT(TEXT(A8,""YYYY""),""2018""),""Y"",""N"")"发布于 2018-07-11 00:58:00
如果我理解正确的话,您正在尝试检查A列中的日期是否在特定的月份,对吗?使用
if MonthName(Month(c.value)) = userInput then
...
end if对于某些单元格c和字符串userInput。根据日期的格式,您可能还需要使用CDate(c.value)。
https://stackoverflow.com/questions/51269386
复制相似问题