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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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 Split()将数字转换为日期_Excel_Vba - Fatal编程技术网

Excel Split()将数字转换为日期

Excel Split()将数字转换为日期,excel,vba,Excel,Vba,我正在尝试实现一个拆分函数来解析EXCEL中的字符串,并将结果分发到同一表单上的相邻单元格。除非解析的术语是一个数字,否则以下各项按预期工作 0.25解析为1/0/1900 6:00:00 AM 我尝试了cstr的结果strAttr值,但似乎没有效果。有什么想法吗 Sub splitText() Dim i As Integer Dim x As Integer Dim strText As String Dim strAttr As Variant Dim strFirst As

我正在尝试实现一个拆分函数来解析EXCEL中的字符串,并将结果分发到同一表单上的相邻单元格。除非解析的术语是一个数字,否则以下各项按预期工作

0.25解析为1/0/1900 6:00:00 AM

我尝试了cstr的结果strAttr值,但似乎没有效果。有什么想法吗

 Sub splitText()

 Dim i As Integer
 Dim x As Integer
 Dim strText As String
 Dim strAttr As Variant
 Dim strFirst As String
 Dim NumRows As Integer

    strFirst = "A4"

    Sheets("Data").Activate
    Range(strFirst).Select
    NumRows = Range(strFirst, Range(strFirst).End(xlDown)).Rows.Count

    For x = 1 To NumRows

        ActiveCell.Offset(1, 0).Select

        strText = ActiveCell.Value
        strAttr = Split(strText, " ")

        For i = 0 To UBound(strAttr)
            Cells(x + 4, i + 2).Value = strAttr(i)
        Next i

    Next

End Sub
注:

我在字符串的前面强制了一个“a”,这似乎提供了所需的结果,但所有内容都将是=文本:

    For i = 0 To UBound(strAttr)
        Cells(x + 4, i + 2).Value = "'" & strAttr(i)
    Next i
有没有更好的方法来实现这一点并保留0.25作为数值

谢谢


标记这可能会有所帮助。替换:

strText = ActiveCell.Value
与:


工作表上的单元格是否已预格式化?您可以在将值放入之前将所有内容格式化为常规。
strText = ActiveCell.Text