Excel Split()将数字转换为日期
我正在尝试实现一个拆分函数来解析EXCEL中的字符串,并将结果分发到同一表单上的相邻单元格。除非解析的术语是一个数字,否则以下各项按预期工作 0.25解析为1/0/1900 6:00:00 AM 我尝试了cstr的结果strAttr值,但似乎没有效果。有什么想法吗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
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