我有一个数据导入文件,其上有日期而没有逗号(即January 1 2015
)。 Excel不会将此识别为日期,我需要使用这些日期来查找其他日期(即日期+行程长度以查找行程的最后一天等)
我正在尝试使用VBA来完成此操作并将逻辑降低但我遇到了错误。
我占用了日期(January 1 2015
)的长度,5个正确的字符(2015
),整个长度的左边减去5个右边的字符(JANUARY 1
) ,然后将这些变量与插入的逗号组合在一起:Left(value-5) & ", " & Right(value, 5)
我正在使用此代码:
'correct date from JANUARY 1 2000 to JANUARY 1, 2000 so excel can recognize as date
LengthTrpDpt = Len(wb1.Sheets("BL Import").Cells(ioi, TrpDepCol)) 'length of date
LengthRightTrpDPt = Right(wb1.Sheets("BL Import").Cells(ioi, TrpDepCol), 5) 'finds right 5 of date " 2015"
NewListedDate = Left(wb1.Sheets("BL Import").Cells(ioi, TrpDepCol), LengthTrpDpt - 5) & ", " & LengthRightTrpDPt
问题在于NewListedDate变量。我可以将部分LengthTrpDpt - 5更改为一个数字,它工作正常。出于某种原因,我不能在这里找到方程式。我尝试在单独保存的变量(LengthMath = LengthTrpDpt - 5)中执行等式,而使用LengthMath,但这也不起作用。
LengthTrpDpt工作正常,MsgBox是正确的数字。有任何想法吗?谢谢!
答案 0 :(得分:3)
您应该Split()
日期字符串来获取您的三个部分,然后将它们重新组合在一起,无论您喜欢:
Dim a
a = Split(wb1.Sheets("BL Import").Cells(ioi, TrpDepCol))
NewListedDate = a(0) & " " & a(1) & ", " & a(2)