excel - Selection.Replace ("."for "-") 应用于 "dd.mm.yyyy"返回 "mm-dd-yyyy"

标签 excel replace vba

第一次在论坛上提问,请耐心等待:D。

使用宏时,我需要更改来自 SAP 的文件的整个列日期。日期的通用格式为“dd.mm.yyyy”。我需要替换“。”对于“-”,并应用日期格式“dd-MM-yyyy”。我使用此代码:

range(Selection, Selection.End(xlDown)).Select
    Selection.NumberFormat = "dd-mm-yyyy"
    Selection.Replace What:=".", Replacement:="-", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

该方法以“mm-dd-yyyy”形式返回日期。正如我所说,我需要“dd-mm-yyyy”。有人知道如何纠正这个问题吗?谢谢!

最佳答案

选择您想要转换并运行的单元格:

Sub dural()
    Dim r As Range
    For Each r In Selection
        t = r.Text
        ary = Split(t, ".")
        r.Clear
        r.NumberFormat = "dd-mm-yyyy"
        r.Value = DateSerial(ary(2), ary(1), ary(0))
    Next r
End Sub

关于excel - Selection.Replace ("."for "-") 应用于 "dd.mm.yyyy"返回 "mm-dd-yyyy",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27907773/

相关文章:

excel - 数据透视表根据值的计数计算字段

php - 通过 PHP 从字符串中删除特定的 XML 标签

vba - Trim() 不适用于表格

javascript - 使用 JavaScript 替换 VisualForce 页面上的文本

c# - 有效地获取格式化的单元格值

excel - 用于删除已位于另一张工作表中的重复行的 VBA 代码

vba - 工作表中的最大值

没有循环的 Excel 到大写 VBA

python - 从 python 运行 excel 宏

python - 如何使用 openpyxl 3.03 找到 excel 的最后一个非空行?