သင်၏ Excel Worksheet တွင် VBA ဖြင့်ရက်စွဲများကိုမည်သို့ပြင်မည်နည်း။

ယခုမျှဝေပါ-

ကျွန်ုပ်တို့ထံ 12.26.2016 သို့မဟုတ် 26/12/2016 (UK ဖော်မတ်) အဖြစ် ကျွန်ုပ်တို့ထံ ပေးပို့ထားသော စာရင်းဇယားများတွင် ရက်စွဲများကို မည်မျှကြာကြာရရှိရသနည်း၊ ရက်စွဲသည် အကျုံးမဝင်ပါ သို့မဟုတ် လ 26 မရှိကြောင်းကို ပြောပြရန်သာ ဖြစ်ပါသည်။ ဤဆောင်းပါးသည် TRIM၊ LEFT၊ ညာဘက်နှင့် MID လုပ်ဆောင်ချက်များကို အသုံးပြု၍ VBA ဖြင့် ရက်စွဲများကို ပြင်ဆင်ခြင်းအကြောင်း စူးစမ်းသည်။

ဆောင်းပါးသည် စာဖတ်သူတွင် Developer ribbon ကိုပြသထားပြီး VBA Editor နှင့် ရင်းနှီးသည်ဟု ယူဆသည်။ မဟုတ်ပါက၊ Google "Excel Developer Tab" သို့မဟုတ် "Excel Code Window" ကို ကျေးဇူးပြု၍

ဤလေ့ကျင့်ခန်းတွင် xlsm ကိုဒေါင်းလုဒ်လုပ်နိုင်သည်။ ဒီမှာ.

ငါတို့ပြဿနာမဟုတ်ဘူး!

ရက်စွဲတစ်ခုသို့ 7 ရက်ပေါင်းထည့်ခြင်း။ပြဿနာတစ်ခုကို ဖြေရှင်းရန် အကောင်းဆုံးနေရာသည် အရင်းအမြစ်ဖြစ်သည်။ သို့ရာတွင်၊ ဤကိစ္စတွင် 12.26.1994 သည် တရားဝင်သောရက်စွဲမဟုတ်ပါ (အရှေ့ဥရောပနိုင်ငံအချို့အတွက် ကွန်ပျူတာ၏ Control Panel တွင် ပြင်ဆင်သတ်မှတ်ထားခြင်းမရှိပါက) မည်မျှဆွဲဆောင်မှုပမာဏမျှ မရရှိနိုင်ပါ။

တကယ်တော့ စက်နဲ့ဖတ်လို့ မရဘူးဆိုတာ သက်သေပြနိုင်ပါတယ်။ ဥပမာအားဖြင့်၊ ရက်စွဲတစ်ခုသို့ 7 ရက်ပေါင်းထည့်သည်-

"=01.01.2017 + 7" = #VALUE. 

"=2017.01.01 + 7" = #VALUE.

နေစဉ်…

"=2017-01-01 + 7" = 2017/01/08.

အဲဒါက သူတို့ရဲ့ ပြဿနာမဟုတ်ဘူးလို့ သူတို့ အကြံပြုပါရစေ။

ရက်စွဲပုံစံများ

ပထမအချက်က ရက်စွဲက USA ဒါမှမဟုတ် International format လားဆိုတာ သေချာအောင်ပါ။USA ဖော်မတ်တွင် ရက်စွဲ

ကျွန်ုပ်တို့၏ဥပမာသည် နိုင်ငံတကာဖော်မတ် DMY ထက် MDY သည် USA အသုံးပြုမှုကို ကြည့်နေကြောင်း ရှင်းရှင်းလင်းလင်းဖော်ပြသည်။

ကျွန်ုပ်တို့သည် အရင်းအမြစ်ကို တည်ထောင်ပြီးသည်နှင့်၊ နိုင်ငံတကာတွင်ဖြစ်စေ USA တွင်ဖြစ်စေ Excel သည် ၎င်းတို့ကို နားလည်သဘောပေါက်နိုင်စေရန် ဒေတာဖော်မတ်များကို ပြောင်းလဲရန် လိုအပ်ပါသည်။

၎င်းကိုလုပ်ဆောင်ရန် အကောင်းဆုံးနည်းလမ်းမှာ အရည်အချင်းမလိုအပ်သော ဖော်မတ်ဖြစ်သည့် ရက်စွဲကို yyyymmdd သို့ ပြောင်းရန်ဖြစ်သည်။

အဆိုပါလုပ်ငန်းစဉ်

ကျွန်ုပ်တို့သည် စာရွက်စာတမ်းရှိ အတန်းတစ်ခုစီကို လည်ပတ်ပြီး အရင်းအမြစ်နိုင်ငံအလိုက် ရက်စွဲကို “မှန်ကန်” စေရန် လုပ်ဆောင်ချက်တစ်ခုကို တောင်းဆိုပါမည်။ ရက်စွဲကို ပြင်ဆင်ပြီးသည်နှင့် ကျွန်ုပ်တို့သည် ဝန်ထမ်း၏ အသက်ကို တွက်ချက်ပါမည်။

အဆိုပါ Code ကို

အောက်ပါကုဒ်ကို module အသစ်တစ်ခုသို့ ကူးယူပါ-

Option Explicit

Sub Main()
    Dim strNewFormat As String
    Dim strDate As String
    Sheets("Main").Range("B4").Select
    
    'Cycle through the sheet rows, using IDNumber as an anchor
    'to prevent a premature halt caused by a blank date of birth
    Do While ActiveCell > ""
        If ActiveCell.Offset(0, 2) > "" Then
            strDate = ActiveCell.Offset(0, 2)
            
            'Remove leading or trailing spaces
            strDate = Trim(strDate)
            
            'Call the function
            strNewFormat = ReformatDate(strDate, "USA")
            
            'Write the result from the function ReformatDate to a new column
            ActiveCell.Offset(0, 3) = strNewFormat
            
            'Determine age by subtracting the previous column from today's date
            ActiveCell.Offset(0, 4) = "=(NOW()-RC[-1])/365.25"
            
            'Convert to intger, thus lopping off decimal places
            ActiveCell.Offset(0, 4) = Int(ActiveCell.Offset(0, 4))
        End If
        Range("B" & ActiveCell.Row + 1).Select
    Loop
End Sub

Function ReformatDate(sDate As String, sSource As String)
    Dim yyyy, mm, dd As String
    yyyy = Right(sDate, 4)
    If sSource = "USA" Then
        mm = Left(sDate, 2)
        dd = Mid(sDate, 4, 2)
    Else
        mm = Mid(sDate, 4, 2)
        dd = Left(sDate, 2)
    End If
    ReformatDate = yyyy & "-" & mm & "-" & dd
End Function

သင့်ဖောင်တွင် ခလုတ်တစ်ခုထည့်ကာ ၎င်းကို Sub Main သို့ သတ်မှတ်ပေးပါ။

မလုပ်မီမဆုံးဖြတ်မီအချို့အချက်များကိုစဥ်းစားရန်သတိပေးခြင်း

သင့် module တွင် ရှုပ်ထွေးလွန်းသောကုဒ်ကို မထည့်မီ၊ Excel သည် အဓိက အပလီကေးရှင်း ဖွံ့ဖြိုးတိုးတက်မှုတွင် အမြဲတမ်း မတည်ငြိမ်ကြောင်း၊ ပျက်စီးသွားသော ကုဒ်ကို မကြာခဏ ပြန်လည်ရယူ၍ မရနိုင်ကြောင်း အကြံပြုအပ်ပါသည်။ "Save" တွင် အကျင့်ပျက်ခြစားမှုများ ပေါ်ပေါက်လာသောကြောင့် ရလဒ်မှာ သင်၏တစ်ခုတည်းသောမိတ္တူ၏ အကျင့်ပျက်ခြစားမှုဖြစ်နိုင်သည်။

မကြာခဏ မိတ္တူကူးပြီး ပြုပြင်ရန် ကိရိယာတစ်ခု အသုံးပြုပါ။ Excel ဖိုင် ဖောက်ပြန်ခြင်း.

စာရေးသူနိဒါန်း:

Felix Hooker သည် ဒေတာပြန်လည်ရယူရေးဆိုင်ရာ ကျွမ်းကျင်သူဖြစ်သည်။ DataNumen, Inc. အပါအဝင် ဒေတာပြန်လည်ရယူရေးနည်းပညာများတွင် ကမ္ဘာ့ခေါင်းဆောင်ဖြစ်သည်။ ပြုပြင် rar အကျင့်ပျက်ခြစားမှုကို file နှင့် sql recovery software ထုတ်ကုန်များ။ ပိုမိုသိရှိလိုပါကသွားရောက်ကြည့်ရှု www ။datanumen.com

ယခုမျှဝေပါ-

မှတ်ချက်များကိုပိတ်ထားကြသည်။