Вы можете попробовать этот код ниже.
Убедитесь, что вы сделали копию своей работы, прежде чем использовать ее.
Как говорит @Kevin, успех будет зависеть от формата, используемого при вводе данных.
Код, который вы указали, просматривает все листы в вашей рабочей тетради. Это то, что вы хотите?
Тем не менее, попробуйте и вернитесь, если не подходит.
Sub test_comment()
Dim Wsh As Worksheet
Dim Cmt As Comment
For Each Wsh In ActiveWorkbook.Sheets
For Each Cmt In Wsh.Comments
If InStr(1, Cmt.Text, ":") > 0 Then
St1 = Cmt.Text
St2 = Format(Left(St1, InStr(1, St1, ":") - 1), "YYYY/MM/DD")
Cmt.Text St2 & Mid(St1, InStr(1, St1, ":"))
End If
Next Cmt
Next Wsh
End Sub
Новая попытка для нескольких строк:
Sub test_comment()
Dim Wsh As Worksheet
Dim Cmt As Comment
For Each Wsh In ActiveWorkbook.Sheets
For Each Cmt In Wsh.Comments
Arr1 = Split(Cmt.Text, Chr(10))
For i = 0 To UBound(Arr1)
If InStr(1, Arr1(i), ":") > 0 Then
St1 = Arr1(i)
St2 = Format(Left(St1, InStr(1, St1, ":") - 1), "YYYY/MM/DD")
Arr1(i) = St2 & Mid(St1, InStr(1, St1, ":"))
Cmt.Text Join(Arr1, Chr(10))
End If
Next i
Next Cmt
Next Wsh
End Sub