اصلاح تاریخ های وارد شده

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • 9195597757

    • 2019/08/05
    • 6

    پرسش اصلاح تاریخ های وارد شده

    در بانک اطلاعات تاریخ هایی از قبل وارد شده بود که حالا برای بهره برداری از آنها در فایل پیوست بدلیل نداشتن روز (تاریخ ها ماه و سال می باشد ) دچار مشکل شده ام راه حلی وجود دارد تا همه تاریخ ها دارای روز شوند مثلا تاریخی که 98/05 می باشد بشود 98/05/01 ( روز یکم به همه تاریخ ها اضافه شود )چون وارد نمودن اطلاعات بصورت دستی هم وقت گیر است و احتمال اشتباه زیاد دارد
    با تشکر
    فایل های پیوست شده
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام

    شیت شما دارای پسورد میباشد و تغییرات توسط ماکرو قابل انجام نیست ابتدا شیت خودرا unprotected کنید
    و از ماکرو ذیل استفاده کنید

    کد PHP:
    Sub test()

    For 
    Each cell In ActiveSheet.UsedRange

    xx 
    InStr(1cell"/")

    If 
    Len(cell) = And xx 5 Then

    cell 
    cell "/01"

    End If

    Next

    End Sub 

    کامنت

    • 9195597757

      • 2019/08/05
      • 6

      #3
      در sheet بانک اطلاعات می خواستم همه تارریخ ها اصلاح شود که پسورد ندارد

      کامنت

      • 9195597757

        • 2019/08/05
        • 6

        #4
        در sheet بانک اطلاعات می خواستم همه تارریخ ها اصلاح شود که پسورد ندارد فایل ضمیمه sheet 2 هم بدو پسورد شده
        فایل های پیوست شده

        کامنت

        • iranweld

          • 2015/03/29
          • 3341

          #5
          با سلام

          بر روی باتن موجود در شیت دو کلیک کنید تا ماکرو تاریخ ها را اصلاح نماید

          کد PHP:
          Sub test1()

          r1 Cells(Rows.Count"A").End(xlUp).Row

          For 1 To 25

          For 1 To r1


          xx 
          InStr(1Cells(ij), "/")


          If 
          Len(Cells(ij)) = And xx 5 Then

          Cells
          (ij).Select

          Cells
          (ij).NumberFormat "@"

          sal Left(Cells(ij), 4)

          mah Right(Cells(ij), 1)

          Cells(ij) = sal "/0" mah "/01"


          ElseIf Len(Cells(ij)) = And xx 5 Then

          Cells
          (ij).NumberFormat "@"

          Cells(ij) = Cells(ij) & "/01"

          End If

          Next

          Next



          End Sub 
          فایل های پیوست شده

          کامنت

          • M_ExceL

            • 2018/04/23
            • 677

            #6
            ضمن تشکر از جناب iranweld این رو هم امتحان کنید، در کسری از ثانیه انجام میشه :
            کد:
            Sub test()
            Dim c, r As Long
            Dim ln As Byte
            Dim rng As Range
            Dim myar As Variant
            Set rng = Range("d2:as1061")
            myar = rng.Value
                Application.ScreenUpdating = False
                    For c = 1 To 42
                        For r = 1 To 1060
                            If Mid(myar(r, c), 6, 1) <> "/" And InStr(1, myar(r, c), "/", 1) Then
                                ln = Len(myar(r, c))
                                    Select Case ln
                                        Case 6: myar(r, c) = Mid(myar(r, c), 1, 5) & "0" & Mid(myar(r, c), 6, 1) & "/01"
                                        Case 7: myar(r, c) = myar(r, c) & "/01"
                                        Case 8: myar(r, c) = Mid(myar(r, c), 3, 5) & "0" & Mid(myar(r, c), 8, 1) & "/01"
                                        Case 9: myar(r, c) = Mid(myar(r, c), 1, 5) & "0" & Mid(myar(r, c), 6, 1) & "/01"
                                        Case 10: myar(r, c) = Mid(myar(r, c), 1, 7) & "/01"
                                    End Select
                            End If
                        Next
                    Next
                rng.Value = myar
                rng.NumberFormat = "yyyy/mm/dd"
                rng.WrapText = True
                Application.ScreenUpdating = True
            End Sub
            [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
            [/CENTER]

            کامنت

            چند لحظه..