我正在尝试使用TextToColumns来将Delimited字段格式化为
MM / DD / YYYY HH:MM (excel只是将其视为文本,而不是日期-它以空格分隔)
公正
DD / MM / YYYY
我想从第二个单元格开始对电子表格的第二列进行整个操作
到目前为止,我将第二列设置为范围(我将B2设置为B2000,因为我不想影响B1)。我指定数据用空格定界,第一列需要格式化为DataType 6,第二列需要跳过。
'define and set range
Dim rng As Range
Set rng = Range("B2:B2000")
'use Text To Columns
rng.TextToColumns Destination:=rng, DataType:=xIDelimited, TextQualifier:=xlTextQualifierDoubleQuote,
Space:=True,
FieldInfo:=Array(Array(1, 6), Array(2, 9))
运行代码时,什么也没有发生。没有错误,也没有结果
答案 0 :(得分:1)
您的代码中有错字:
您有:DataType:=xIDelimited
应为:DataType:=xlDelimited
答案 1 :(得分:0)
尝试一下:
Sub dural()
Dim rng As Range, r As Range, v As String, d As Date
Set rng = Range("B2:B2000")
For Each r In rng
v = r.Text
If InStr(1, v, "/") > 0 Then
arr = Split(v, " ")
brr = Split(arr(0), "/")
d = DateSerial(brr(2), brr(0), brr(1))
r.Clear
r.Value = d
r.NumberFormat = "dd/mm/yyyy"
End If
Next r
End Sub
之前:
及之后: