VBA Application.Evaluate 错误 2015 尝试将公式值分配给变量

VBA Application.Evaluate Error 2015 Trying to Assign a formula value to a variable

我正在尝试将公式值分配给名为“Days”的变量

"=DATEVALUE(MID(B4,7,9))-DATEVALUE(CONCATENATE(RIGHT(A4,4),LEFT(B4,4)))+1"

但是当我做出如下声明时,我从 Days 变量中得到错误 2015

ThisWorkbook.Worksheets("Plan1").Activate
Range("F4").Select
Days = Application.Evaluate("DATEVALUE(MID(B4,7,9))-DATEVALUE(CONCATENATE(RIGHT(A4,4),LEFT(B4,4)))+1")

我的objective是将该变量作为一个值来进行其他计算,但首先我必须将公式值赋给Days变量。

我希望我说清楚了,我的英语不太好。

请尝试下一种方式:

 Dim Days As Long, wsP As Worksheet

 Set wsP = ActiveSheet ' ThisWorkbook.Worksheets("Plan1")
 Days = DateValue(Mid(wsP.Range("B4").Value, 8, 8)) - _
        DateValue(Right(wsP.Range("A4").Value, 4) & _
                 left(wsP.Range("B4").Value, 4)) + 1
 wsP.Range("F4").Value = Days 'I only suppose you need the value to be placed here.
                              ' Otherwise, I cannot understand why that cell was selected...

请注意:我使用 wsP.Range("B4").Value, 8, 8 而不是 wsP.Range("B4").Value, 7, 8 修改了中间部分。我无法想象这个公式在你的情况下如何运作...