怎么修改excel表格已有的时间的格式

如何修改excel表格已有的时间的格式
如表格的时间格式为2010-04-03 06:00:00,如何使用vba批量判断并修改为 2010-04-03 06-00格式,请高手指点。
 

------解决方案--------------------
上个代码简洁明了

VB code

Sub ChangeRangeFormat()
    Dim R As Range
    
    For Each R In Worksheets("Sheet1").Range("A1").CurrentRegion
        If R.NumberFormatLocal = "yyyy-mm-dd hh:mm:ss" Then
            R.NumberFormatLocal = "yyyy-mm-dd hh-mm"
        End If
    Next R
End Sub

------解决方案--------------------
他代码只处理A1,你需要把范围搞大点
探讨
好像楼上的代码执行后没有什么反应的,不知为何?

------解决方案--------------------
首先,3楼的说法是错误的,代码中“Range("A1").CurrentRegion”的意思就是选取单元格A1附近的最大连续区域。当然,如果单元格区域不连续,那也就只能选到很少的单元格了。

其次,楼主的Excel是否允许执行宏?有没将安全级别降低?(“高”以下)

然后,我在1楼已经明确表达了一个观点(代码中也体现了):如果单元格不是“yyyy-mm-dd hh:mm:ss”这样的格式,那么程序将不会处理该单元格。

第四,楼主可以检查一下,单元格日期是否为文本类型:单元格格式为“文本”,或者单元格内容左靠。

最后,如果楼主想把整个Sheet中所有的日期改为“2010-04-03 06-00”格式,那么请看代码:
VB code
Sub ChangeRangeFormat()
    Dim R As Range
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
        For Each R In Worksheets("Sheet1").Cells
            If IsDate(R) Then
                R.NumberFormatLocal = "yyyy-mm-dd hh-mm"
            End If
        Next R
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
    End With
End Sub