Excel 将部分文本转换为日期
试图删除“截止日期:”的“截止日期:”部分,并将剩余文本转换为日期。到目前为止,我已经:Excel 将部分文本转换为日期,excel,vba,Excel,Vba,试图删除“截止日期:”的“截止日期:”部分,并将剩余文本转换为日期。到目前为止,我已经: Sub FasFormat() Dim period As Long period = Mid([B4], 8, 10) period.Value = CDate(period) [B4] = period End Sub 但我得到一个无效的限定符错误。画一个严重的空白试试这个。。(我在这里替换了我自己的可变日期!) 将期间更改为字符串并删除值可修复此问题-它返回一个日期。注意我还
Sub FasFormat()
Dim period As Long
period = Mid([B4], 8, 10)
period.Value = CDate(period)
[B4] = period
End Sub
但我得到一个无效的限定符错误。画一个严重的空白试试这个。。(我在这里替换了我自己的可变日期!)
将期间
更改为字符串并删除值
可修复此问题-它返回一个日期。注意我还将mid()
扩展到11
此外,如果这些都在一列中,您可以对列执行文本转换,完全避免VBA。只需突出显示单元格,转到数据-->文本到列,并使用
:
作为分隔符。这似乎只是将其作为纯文本返回?不确定您为什么需要指定单元格的数字格式,例如Sheet1.Range(“B4”、“B200”)。NumberFormat=“yyyy mm dd”。或者您想要的任何日期格式[B4]=CDate(Mid([B4]、Len(“截至:)+1))
Dim period As String
Dim Strmydate As String
Dim mydate As Date
Strmydate = "As Of: 07/31/2015"
period = Mid(Strmydate, 8, 10)
mydate = CDate(period)
MsgBox period
Sub FastFormat()
Dim period As String
period = Mid([B4], 8, 11)
' you can also use
' period = Trim(Right([b4], Len([b4]) - WorksheetFunction.Search(": ", [b4])))
period = CDate(period)
[B4] = period
End Sub