Workbook_Before关闭Excel VBA

问题描述 投票:0回答:2

我正在尝试运行代码以将文本日期更正为“数据”工作表中的日期格式,并通过记录宏,我记录并且它适用于单个列“U”。如何将其添加到多个列? (如X,AA,AB和AC)。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Columns("U:U").Select
Selection.TextToColumns Destination:=Range("U1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 4), TrailingMinusNumbers:=True
End Sub
excel vba excel-vba
2个回答
0
投票

下面是循环一系列列并将Text-to-columns应用于您选择的列(case语句)的方法。

For x = 21 To 29
Select Case x
    Case 21, 24, 27, 28, 29
        Columns(x).TextToColumns Destination:=Cells(1, x), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 4), TrailingMinusNumbers:=True
End Select

 Next x

0
投票

你的意思是:

Range("X:X,AA:AC").NumberFormat = "m/d/yyyy"

您可以指定从文本转换为日期所需的确切格式,前提是它被识别为日期。

正如评论中指出的那样,确保您完全符合您的范围

ThisWorkbook.Worksheets("Data").Range(yourRange)

© www.soinside.com 2019 - 2024. All rights reserved.