如何在VBA中使用regex检查特定格式

时间:2018-04-21 13:46:07

标签: excel vba excel-vba

我的excel文件中的日期格式为MM / DD / YYYY

我正在通过工作表使用每个循环并通过cell.Value

获取值

我想检查当前处理的单元格是否采用上述格式,如果是,请将其更改为YYYY-MM-DD(数据库格式)

我可以在VBA中执行此操作吗?

提前致谢,

2 个答案:

答案 0 :(得分:1)

没有正则表达式:

Sub DateTest()
    With ActiveCell
        If IsDate(.Value) And .NumberFormat = "mm/dd/yyyy" Then
            .NumberFormat = "yyyy-mm-dd"
        End If
    End With
End Sub

注:

如果值为Strings,则更改NumberFormat将不会对单元格产生明显影响。

答案 1 :(得分:0)

您不需要正则表达式

Option Explicit

Sub ChangeDateFormats()
    Dim thisCell As Range
    For Each thisCell In ActiveSheet.UsedRange
        Debug.Print thisCell.NumberFormat
        If thisCell.NumberFormat = "m/d/yyyy" Then
            thisCell.NumberFormat = "yyyy-mm-dd"
        End If
    Next thisCell
End Sub