gpt4 book ai didi

vba - 日期和时间文本到列

转载 作者:行者123 更新时间:2023-12-02 15:16:09 25 4
gpt4 key购买 nike

我在使用“文本到列”宏时遇到问题。

我有一个包含不同宏的 Excel 文件,其中一张表是用户在运行其中一个宏之前需要填写的表格。其中两个单元格是日期和时间。

我需要将日期从一个文件复制到另一个文件,然后将日期从例如19/03/2016 到 3 列日、月和年,即 19、3 和 2016。当我录制宏时一切正常,但当我运行宏时,日期会转换为美国格式,我得到 3、19 和2016。这同样适用于时间,如果我有例如15:30,录制宏时我得到 15 和 30,但是当我运行宏时我得到 3 和 30。

下面是我使用的代码:

Sub Reporting_Start_Date()

Application.Workbooks(1).Activate
Sheets("Activity Info").Select
Range("C8").Select
Selection.Copy
Application.Workbooks(2).Activate
Range("O2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Selection.NumberFormat = "m/d/yyyy"
Selection.TextToColumns Destination:=Range("O2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="/", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
Selection.NumberFormat = "0"

End Sub

录制的时间宏是:

Sub Reporting_Start_Time()

Application.Workbooks(1).Activate
Sheets("Activity Info").Select
Range("C9").Select
Selection.Copy
Application.Workbooks(2).Activate
Range("R2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Selection.NumberFormat = "[$-F400]h:mm:ss AM/PM"
Selection.TextToColumns Destination:=Range("R2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:=":", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 9)), _
TrailingMinusNumbers:=True
Selection.NumberFormat = "0"

End Sub

最佳答案

假设我们有一个单元格,其日期格式为dd/mm/yyyy。选择它并运行:

Sub DateSplitter()
Dim ary
With Selection
ary = Split(.Text, "/")
.Offset(0, 1) = ary(o)
.Offset(0, 2) = ary(1)
.Offset(0, 3) = ary(2)
End With
End Sub

enter image description here

您可以针对时间编写类似的代码。可以轻松修改代码以处理列中的所有日期或时间等。

关于vba - 日期和时间文本到列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36016186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com