Dates can be a little tricky
Q1 - Can you post 2 small WBs with just a small number 'date' cells?
For example, 01.2017 might be set via a Style or Custom Number Format or as 'regular' text
Q2 - Do you want the cell value to be an true Excel date, or a string that looks like a date?
In the meantime, you can try something like this which make the 'dates' into strings
Option Explicit
Sub DateFormats()
Dim ws As Worksheet
Dim c As Range, r As Range
Application.ScreenUpdating = True
If MsgBox("Do you want to change 'dot' dates to 'slash' dates?", vbQuestion + vbYesNo, "Change Date Formats") = vbYes Then
For Each ws In ThisWorkbook.Worksheets
Set r = Nothing
On Error Resume Next
Set r = ws.UsedRange.SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not r Is Nothing Then
For Each c In r.Cells
If c.Text Like "##.####" Then
c.Value = "'" & Left(c.Text, 2) & "/" & Right(c.Text, 4)
End If
Next
End If
Next
ElseIf MsgBox("Do you want to change 'slash' dates to 'dot' dates?", vbQuestion + vbYesNo, "Change Date Formats") = vbYes Then
For Each ws In ThisWorkbook.Worksheets
Set r = Nothing
On Error Resume Next
Set r = ws.UsedRange.SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not r Is Nothing Then
For Each c In r.Cells
If c.Text Like "##/####" Then
c.Value = "'" & Left(c.Text, 2) & "." & Right(c.Text, 4)
End If
Next
End If
Next
End If
Application.ScreenUpdating = True
End Sub