我有以下代码部分,它根据关键字"里程碑"拆分单元格中的值,然后在新工作表上创建新列并将日期粘贴到其中。
Sheets("DemandTable").Rows("1").Copy Sheets("DataSheet").Range("A1")
With Sheets("DemandTable")
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
pasteRowIndex = 2
For r = LastRow To 1 Step -1
If IsError(.Cells(r, "L").Value) Then
.Cells(r, "L").EntireRow.Delete
ElseIf LCase(.Cells(r, "L").Value) Like LCase("Milestone*") Then
If UBound(Split(.Cells(r, "L"), ",")) > 0 Then
i = i + 1
ReDim v(1 To i)
v(i) = pasteRowIndex
End If
Sheets("DemandTable").Rows(r).Copy Sheets("DataSheet").Rows(pasteRowIndex)
pasteRowIndex = pasteRowIndex + 1
End If
Next r
End With
With Sheets("DataSheet")
newLastRow = pasteRowIndex
If IsArray(v) Then
.Columns(13).Insert Shift:=xlToRight
For i = 1 To newLastRow
If InStr(1, .Cells(i, "L"), ",") Then
.Cells(i, "M").Value = Split(.Cells(i, "L"), ",")(1)
End If
Next i
End If
我遇到的问题是" Milestone"之后的价值观。关键字是日期,当它们被复制到新列时,它们在某些情况下会改变值,例如2017年10月1日可以成为10/01/2017。
有没有办法可以设置新日期的格式,以便它们不会更改值并显示为dd / mm / yyyy?我在格式化方面尝试的任何东西都不能纠正日期和月份数字的交换?请注意,这仅适用于某些行。
由于
答案 0 :(得分:0)
这个问题很复杂,已经回答了。
解决方案:
Cells(1, 1).NumberFormat = "dd/mm/yyyy"