分离复制的单元格

在这里输入图像说明

我正在尝试执行一个代码,将一个单元分成3个不同的部分。 我试图拆分列“p”中的date,并在“R:T”列中插入3个不同的部分。 但是,代码只能粘贴R列中的date,如附图所示。 代码有什么问题?

Range("Q4:Q65000").Select Range(Selection, Selection.End(xlDown)).Select Selection.TextToColumns Destination:=Range("R4"), DataType:=xlDelimited, _ TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _ TrailingMinusNumbers:=True 

我认为你的问题是你的代码看到date,因为它的长期价值不是你看到它的格式。为什么不使用Excel公式来处理这个呢?

R将是=DAY(Q4)

S列将是=MONTH(Q4)

T=YEAR(Q4)

像这样的东西就足够了

 Dim lastRow As Long Set lastRow = Range("Q" & Rows.Count).End(xlUp).Row For i = 4 To lastRow Range("R" & i).Value = Mid(Range("Q" & i).Value, 1, 2) Range("S" & i).Value = Mid(Range("Q" & i).Value, 4, 2) Range("T" & i).Value = Mid(Range("Q" & i).Value, 7, 4) Next i 

循环遍历所有受影响的行,并将date分解为其部分。

这是给定的date将始终在格式

 dd-MM-yyyy