اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

  • أفضل إجابة
قام بنشر

جرب هذا الماكرو لعله يكون المطلوب (فقط اصغط الزر Run )

Option Explicit
Sub Text_to_date()
Dim st, i%, m%, k%, ro
Dim arr()
Dim My_dat As Date
Dim stg
ro = Cells(Rows.Count, 1).End(3).Row
If ro < 2 Then Exit Sub

Range("C2:C" & ro).ClearContents
For i = 2 To ro
    st = Split(Cells(i, 1))
        For k = LBound(st) To UBound(st)
          If st(k) <> "" Then
            ReDim Preserve arr(m)
            arr(m) = st(k)
            m = m + 1
          End If
        Next k
        On Error Resume Next
    stg = """" & arr(2) * 1 & " " & arr(0) & " " & arr(1) * 1 & """"
    If Err.Number > 0 Then GoTo Next_I
    If IsDate(Evaluate(stg)) Then
      My_dat = Evaluate(stg)
        Cells(i, 3) = My_dat
      End If
Next_I:
    Erase arr: m = 0: On Error GoTo 0
Next i
End Sub

الملف مرفق

Text_to dat.xlsm

  • Like 3
  • Thanks 1
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information