Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将部分文本转换为日期_Excel_Vba - Fatal编程技术网

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