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
修改了中间部分。我无法想象这个公式在你的情况下如何运作...
我正在尝试将公式值分配给名为“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
修改了中间部分。我无法想象这个公式在你的情况下如何运作...