Excel VBA ဖြင့် Template ကိုဖွင့်ပြီး ဖြည့်နည်း

ယခုမျှဝေပါ-

Excel Templates များသည် ပုံမှန်အားဖြင့် လုပ်ငန်းဆောင်တာများမှ ပံ့ပိုးပေးလေ့ရှိသော အစီရင်ခံမှုဘောင်တစ်ခုပါရှိသော အလုပ်စာအုပ်များဖြစ်သည်။ နမူနာပုံစံများ (xltx) ကို ဒေတာဖြင့် မညစ်ညမ်းစေဘဲ ထပ်ခါထပ်ခါ အသုံးပြုနိုင်သည်။ ဒေတာပါသော လူဦးရေပြီးနောက်၊ ပုံစံခွက်အလုပ်စာအုပ်ကို xlsx အဖြစ် သိမ်းဆည်းပြီး xltx ကိုယ်တိုင်၏ အပျိုစင်အခြေအနေကို ထိန်းသိမ်းထားသည်။

ဤလေ့ကျင့်ခန်းတွင် ပုံစံပလိတ်တစ်ခုကိုဖွင့်ပြီး ဖြည့်သွင်းရန် VBA ကုဒ်ကို အသုံးပြုပါမည်။ ပုံစံခွက် တွေ့နိုင်ပါသည် ဒီမှာ နှင့် Excel Macro ကိုအသုံးပြုထားသည်ကိုတွေ့နိုင်သည်။ ဒီမှာ.

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

ပုံစံခွက်

ဦးစွာ၊ ကျွန်ုပ်တို့သည် အောက်ပါအတိုင်း ဒေတာ၊ ဆုံချက်ဇယားနှင့် ဇယားကွက်ကို ဖြည့်ထားသော dummy နမူနာပုံစံကို တည်ဆောက်ပါမည်။

Excel ဖိုင်အသစ်ကိုဖွင့်ပါ။ "Sheet1" ကို "ဇယား" နှင့် "Sheet2" အဖြစ် "ဒေတာ" အဖြစ် အမည်ပြောင်းပါ

ခေါင်းစဉ်များ အပါအဝင် အောက်ဖော်ပြပါ စာသားကို “ဒေတာ” တက်ဘ်၏ D1 သို့ ကူးယူပါ-

ဦး စီးဌာန JobRef ကျား
ကလေးများနှင့်မိသားစု CH SW2588 အမြိုးသမီး
ကလေးများနှင့်မိသားစု CH RS2775 အမြိုးသမီး
ကလေးများနှင့်မိသားစု CH SW2630 အမြိုးသမီး
ကလေးများနှင့်မိသားစု CH RS2775 အထီး
ကလေးများနှင့်မိသားစု CH CC2628 အမြိုးသမီး
ကလေးများနှင့်မိသားစု CH HT2579 အမြိုးသမီး
ရပ်ရွာကျန်းမာရေး CW T(၂၅၅၉ အမြိုးသမီး
ရပ်ရွာကျန်းမာရေး CW QS2774 အမြိုးသမီး
ရပ်ရွာကျန်းမာရေး CW O2745 အထီး
ပတ်ဝန်းကျင် EE SM2814 အမြိုးသမီး
ပတ်ဝန်းကျင် EE IT2772 အထီး
ပတ်ဝန်းကျင် EE SO2784 အထီး
အရင်းအမြစ်များ RS CO2557 အမြိုးသမီး
အရင်းအမြစ်များ RS HO2539 အထီး

ကော်လံခေါင်းစီးများအပါအဝင် ဒေတာအားလုံးကို ရွေးချယ်ပြီး အောက်ဖော်ပြပါအတိုင်း “ဒေတာ” စာရွက်၏ A1 တွင် ဆုံချက်ဇယားကို ထည့်သွင်းပါ။"ဒေတာ" စာရွက်၏ A1 တွင် Pivot Table ကိုထည့်ပါ။

ဒေတာအရင်းအမြစ်အဖြစ် မဏ္ဍိုင်ဇယားကို အသုံးပြု၍ "ဇယား" တဘ်တွင် ဇယားတစ်ခုဖန်တီးပါ။"ဇယား" တက်ဘ်တွင် ဇယားတစ်ခု ဖန်တီးပါ။

D2:F15 တွင်ဒေတာကိုဖယ်ရှားပါ။ ဆုံချက်ဇယားဒေတာအပိုင်းအခြားကို ပြန်လည်သတ်မှတ်ရန် မလိုအပ်ပါ။ ဒေတာမရှိလျှင်ပင် ၎င်းကို ချန်ထားပါ။  D2:F15 တွင် ဒေတာကို ဖယ်ရှားပါ။

အလုပ်စာအုပ်ကို “VacancyTemplate” အဖြစ် သိမ်းဆည်းပါ။xltx” မက်ခရိုအလုပ်စာအုပ်တွင် နေထိုင်ရမည့် ဖိုင်လမ်းကြောင်းခွဲတစ်ခုတွင်။ သိမ်းဆည်းနေစဉ် Excel မှ သတိပေးချက်များကို "No" ဟု တုံ့ပြန်ပါ။

ကျွန်ုပ်တို့သည် အစီရင်ခံစာများ လမ်းညွှန်ချက်ခွဲတစ်ခုလည်း လိုအပ်ပါမည်။ ဥပမာအားဖြင့်:

Excel အစီရင်ခံစာများ (xlsm ကို ဤနေရာတွင် သိမ်းဆည်းထားသည်)

|_တင်းပလိတ်များ (xlxt ကို ဒီမှာ သိမ်းထားပါတယ်)

       |_အစီရင်ခံစာများ (xlsx တစ်ခုစီကို ဤနေရာတွင် သိမ်းဆည်းထားသည်။)

တစ်ကြိမ်အဖြစ် သိမ်းဆည်းခဲ့သည်။ xltxပုံစံခွက်ကို ပိတ်ပါ။

Macro ပါ။

ကျွန်ုပ်တို့၏ကုဒ်ကိုကိုင်ထားရန် အလုပ်စာအုပ်အသစ်ကိုဖွင့်ပါ။ “Sheet1” ကို “Main” နှင့် “Sheet2” အဖြစ် “Database” အဖြစ် အမည်ပြောင်းပါ။

အပလီကေးရှင်းကိုမောင်းနှင်ရန် "ပင်မ" ပေါ်တွင် ခလုတ်တစ်ခုထားပါ။

ပုံမှန်အားဖြင့် Databases များမှ ထုတ်ယူသည်။ လူတိုင်းတွင် ဒေတာဘေ့စ် အဆင်သင့်မရှိသောကြောင့်၊ "Database" စာရွက်သည် ဒေတာဘေ့စ်ဇယားကို အတုယူမည်ဖြစ်သည်။

ဤဆောင်းပါး၏အစတွင်တွေ့ရှိရသောဒေတာကို A1 ရှိ "ဒေတာဘေ့စ်" တက်ဘ်ထဲသို့ကူးယူပါ...ဤဆောင်းပါး၏အစတွင်တွေ့ရှိရသောဒေတာကို A1 ရှိဒေတာဘေ့စ်တက်ဘ်ထဲသို့ကူးယူပါ။

အဆိုပါ Code ကို

အောက်ဖော်ပြပါ ကုဒ်ဖွဲ့စည်းပုံသည် လုပ်ငန်းစဉ်များကို ရှင်းလင်းပြတ်သားစွာ သတ်မှတ်သည်-

  • "ဒေတာဘေ့စ်" မှဒေတာကိုရယူပါ။
  • နမူနာပုံစံကိုဖွင့်ပါ။
  • နမူနာပုံစံကို ဒေတာဖြင့်ဖြည့်ပြီး ဆုံချက်ဇယားဒေတာအပိုင်းအခြားကို ပြန်လည်သတ်မှတ်ပါ။
  • နမူနာပုံစံကို အစီရင်ခံစာအဖြစ် သိမ်းဆည်းပါ။
Option Explicit
    'Create objects to represent the template workbook and worksheets
    Public wb As Object
    Public XL As Object
    Public connDB As New ADODB.Connection
    Public rs As ADODB.Recordset
    Public eRow As Integer
    Public eRec As Integer
    Public dDate As String

Sub openWorksheet()
    Call GetData
    Call OpenTemplate
    Call PopulateTemplate
    
    'Save template as datestamped xlsx
    On Error Resume Next
    dDate = Format(Now(), "yyyy.mm.dd")
    wb.SaveAs Filename:=ActiveWorkbook.Path & "\Reports\Vacancies" & dDate & ".xlsx", _
         FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

     Sheets("Main").Activate        'Move off the database tab
     wb.Activate            'Bring the chart to the fore
     Set wb = Nothing
     Set XL = Nothing
     Set rs = Nothing
     Set connDB = Nothing
End Sub

Sub GetData()
    'Emulate database retrieval
    If connDB.State = 1 Then connDB.Close
    Sheets("Database").Activate
    Sheets("Database").Range("A1").Select
    Selection.End(xlDown).Select
    
    eRec = ActiveCell.Row - 1 'establish how many records will be in the recordset
                     'This step won't be needed in a database environment
    eRow = ActiveCell.Row   'the end row, used later in the template
    
    connDB.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
      "Data Source=" & ActiveWorkbook.FullName & ";" & _
      "Extended Properties=Excel 12.0;"
        
    Set rs = New ADODB.Recordset
    rs.Open "Select top " & eRec & " * from [Database$]", connDB, , , adCmdText
End Sub

 Sub OpenTemplate()
    Set XL = CreateObject("Excel.Application")
    XL.Visible = True       'enables us to see what's happening on debug.
    XL.Workbooks.Add ActiveWorkbook.Path & "\Templates\VacancyTemplate.xltx"
    Set wb = XL.ActiveWorkbook             'the new workbook is referenced by "wb"
 End Sub
 
 Sub PopulateTemplate()
    wb.Sheets("Data").Activate
    wb.Sheets("Data").Range("D2").CopyFromRecordset rs
    wb.Sheets("Data").Range("A1").Select
    
    'resize the range driving the pivot table, using the eRow variable.
    wb.Sheets("Data").PivotTables("PivotTable1").ChangePivotCache wb. _
        PivotCaches.Create(SourceType:=xlDatabase, SourceData:="Data!R1C4:R" & eRow & "C6", _
        Version:=xlPivotTableVersion14)
    wb.Sheets("Chart").Select

 End Sub

ActiveX ဒေတာ အရာဝတ္ထုများ

database read ကို simulate လုပ်ဖို့အတွက် Active X library ကို reference လုပ်ရပါမယ်။ code window ကနေ Tools>References ကနေတဆင့် လုပ်ဆောင်ပါ။ကိုးကားချက် Active X Library

Code ကိုစမ်းသပ်ပါ။

"ပင်မ" ပေါ်ရှိခလုတ်ကိုသတ်မှတ်ပါ။ Openworkbook ခွဲ။ အလုပ်စာအုပ်ကို “Populating Templates.xlsm” အဖြစ် သိမ်းဆည်းပါ။

အလုပ်စာအုပ်ကိုပိတ်ပြီး ပြန်ဖွင့်ပါ။

ရလဒ်ကိုကြည့်ရှုရန်ခလုတ်ကိုနှိပ်ပါ။ “ဒေတာဘေ့စ်” ရှိ ဒေတာအတန်းအရေအတွက်ကို တိုးမြှင့်ကာ ဇယားအား ထပ်လောင်းအချက်အလက်များဖြင့် အပ်ဒိတ်လုပ်ထားခြင်း ရှိ၊မရှိကို ကြည့်ရှုခြင်းဖြင့် ထပ်မံလုပ်ဆောင်ပါ။

အထက်ကုဒ်တွင် ကျွန်ုပ်တို့သည် နမူနာပုံစံကို အစောပိုင်းတွင် ပြသထားသည်။ XL.Visible = မှန်သည်။. တိုက်ရိုက်ပတ်ဝန်းကျင်တွင်၊ ၎င်းကို အဆုံးတွင် လုပ်ဆောင်နိုင်သည်၊ ထို့ကြောင့် မျက်နှာပြင်အပ်ဒိတ်များကို မမြင်နိုင်ပါ။

Data Disaster ဖြင့်ဖြေရှင်းပါ။

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

အဖိုးတန်အလုပ်များကို မကြာခဏ အရန်ထားရှိခြင်းသည်လည်း အထိုက်အလျောက်ဖြစ်သည်။

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

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

ယခုမျှဝေပါ-

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