gpt4 book ai didi

excel - 字符串中的 VBA EXCEL 公式

转载 作者:行者123 更新时间:2023-12-04 21:48:33 28 4
gpt4 key购买 nike

嗨,我想将以下公式放入 STRING

Dim stringAppoggio As String
Dim myMonth As String

myMonth = "January 2020"

stringAppoggio="=DAY(EOMONTH(DATEVALUE(01-'&myMonth&'-&YEAR(myMonth)),0))"

它并没有真正给我语法错误,但我没有在字符串中看到公式的结果

谢谢

最佳答案

好吧,根据我的评论,这里有一些错误:

  • 您使用单引号而不是双引号将变量与 VBA 公式语法
  • 分开
  • 您完全忘记了第二个 myMonth 周围的引号。变量
  • 您创建的公式根本行不通

  • 请记住,您的变量不仅仅是一个月,而是一个包含月份和年份的字符串 > "January 2020" , 因此 DATEVALUE不需要 01-YEAR(myMonth)去工作。让我解释:
    =DATEVALUE("January 2020")

    将返回 Integer 43831,或者换句话说: 1-1-2020 .其次, EOMONTH将返回该月的月底作为 Integer , 而 DAY将返回当天的数字。因此,您的公式将显示为:
    =DAY(EOMONTH(DATEVALUE("January 2020"),0))

    现在用 VBA 写这个:
    Dim stringAppoggio As String
    Dim myMonth As String

    myMonth = "January 2020"
    stringAppoggio = "=DAY(EOMONTH(DATEVALUE(""" & myMonth & """),0))"

    您可以检查它是否有效:
    Debug.Print Evaluate("=DAY(EOMONTH(DATEVALUE(""" & myMonth & """),0))")

    注:看到三引号了吗?那是因为我们需要喂 DATEVALUE引号内的字符串可以工作,否则它不会是字符串并且会返回错误

    关于excel - 字符串中的 VBA EXCEL 公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59387518/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com