问题描述
我正在尝试将公式值分配给名为“天”的变量
"=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,4)))+1")
我的目标是使用该变量作为值进行其他计算,但是首先我必须将公式值分配给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
而非wsP.Range("B4").Value,7,8
修改了Mid部分。我不认为该公式在您的情况下效果如何...