首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA -使用嵌套公式和自定义变量

VBA -使用嵌套公式和自定义变量
EN

Stack Overflow用户
提问于 2018-07-10 23:41:59
回答 2查看 155关注 0票数 1

我想使用多嵌套公式来确定列A中的日期是否落在特定的月/年,使用诸如= if (AND(EXACT(TEXT(A8,"mmm"),"Jan",EXACT(TEXT(A8,"yyyy"),"2018"),"Y","N")等公式。但是,为了使此公式在VBA中更具动态性,我希望将"Jan“替换为我通过弹出输入框定义的自定义月份,因此

代码语言:javascript
复制
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"")”

EN

回答 2

Stack Overflow用户

发布于 2018-07-10 23:45:51

要在VBA中的字符串中使用双引号,您必须使用双qoutes "",即,当您编写""""时,它意味着包含一个双引号的字符串,因此您的代码应如下所示:

代码语言:javascript
复制
Dim mth As String
FormulaR1C1 = "=IF(AND(EXACT(TEXT(RC[-2],""mmm""),""" & mth & """),EXACT(TEXT(A8,""YYYY""),""2018""),""Y"",""N"")"
票数 1
EN

Stack Overflow用户

发布于 2018-07-11 00:58:00

如果我理解正确的话,您正在尝试检查A列中的日期是否在特定的月份,对吗?使用

代码语言:javascript
复制
if MonthName(Month(c.value)) = userInput then
    ...
end if

对于某些单元格c和字符串userInput。根据日期的格式,您可能还需要使用CDate(c.value)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51269386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档