Ինչպես բացել և լրացնել ձևանմուշը Excel VBA- ով

Կիսվել հիմա ՝

Excel ձևանմուշները սովորաբար աշխատանքային գրքեր են, որոնք ունեն հաշվետվությունների հիմք, որոնք հաճախ աջակցվում են գործառույթներով: A ձևանմուշները (xltx) կարող են օգտագործվել բազմիցս ՝ առանց տվյալների աղտոտման: Տվյալներով բնակչությունից հետո կաղապարի աշխատանքային գիրքը պահվում է որպես xlsx ՝ պահպանելով բուն xltx- ի կուսական վիճակը:

Այս վարժությունում մենք կօգտագործենք VBA կոդ ՝ ձևանմուշը բացելու և լրացնելու համար: Կաղապարը կարելի է գտնել այստեղ և օգտագործված Excel մակրոը կարելի է գտնել այստեղ.

Այս հոդվածը ենթադրում է, որ ընթերցողը ցուցադրում է erրագրավորողի ժապավենը և ծանոթ է VBA խմբագրին: Եթե ​​ոչ, խնդրում ենք Google- ի «Excel Developer Tab» կամ «Excel Code Window»:

Կաղապարը

Նախ, մենք կկառուցենք կեղծ ձևանմուշ, որը բնակեցված է տվյալների, առանցքային աղյուսակի և գծապատկերի միջոցով, հետևյալ կերպ.

Բացեք նոր Excel ֆայլ: «Sheet1» անվանումը վերանվանել «Chart» և «Sheet2» անվանումը ՝ «Data»

«Տվյալներ» ներդիրի D1- ում պատճենեք հետևյալ տեքստը, ներառյալ վերնագրերը.

Տնօրինություն JobRef Սեռը
Երեխաներ և ընտանիք CH SW2588 Իգական
Երեխաներ և ընտանիք CH RS2775 Իգական
Երեխաներ և ընտանիք CH SW2630 Իգական
Երեխաներ և ընտանիք CH RS2775 Արական
Երեխաներ և ընտանիք CH CC2628 Իգական
Երեխաներ և ընտանիք CH HT2579 Իգական
Համայնքի առողջություն CW T (2559) Իգական
Համայնքի առողջություն CW QS2774 Իգական
Համայնքի առողջություն CW O2745 Արական
միջավայր EE SM2814 Իգական
միջավայր EE IT2772 Արական
միջավայր EE SO2784 Արական
ռեսուրսներ RS CO2557 Իգական
ռեսուրսներ RS HO2539 Արական

Ընտրեք բոլոր տվյալները, ներառյալ սյունակների վերնագրերը, և «Տվյալների» թերթիկի A1- ում տեղադրեք առանցքային աղյուսակ, ինչպես ցույց է տրված ստորև:Տեղադրեք առանցքային աղյուսակ «Տվյալների» թերթի A1- ում

Ստեղծեք գծապատկեր «Գծապատկեր» ներդիրում, օգտագործելով առանցքային աղյուսակը ՝ որպես տվյալների աղբյուր:Ստեղծեք գծապատկեր «Գծապատկեր» ներդիրի վրա

Հեռացրեք տվյալները D2- ում `F15: Անհրաժեշտ չէ առանցքային աղյուսակի տվյալների տիրույթը վերականգնել. թողնել այն բնակեցված, նույնիսկ եթե տվյալներ չկան:  Հեռացրեք տվյալները D2- ում. F15

Աշխատանքային գիրքը պահեք որպես «Թափուր աշխատատեղերի ձևանմուշ.xltx» մեկի ենթագրացուցակում, որում պետք է լինի մակրո աշխատանքային տետրը: Խնայելու ընթացքում պատասխանեք «Ոչ» -ից Excel- ի ցանկացած ահազանգերին:

Մեզ նույնպես պետք է «portsեկույցներ» ենթագրացուցակ: Օրինակ:

Excel հաշվետվություններ (xlsm- ը պահվում է այստեղ)

| _Templates (xlxt- ը պահված է այստեղ)

       | _Հաշվետվություններ (յուրաքանչյուր xlsx պահված է այստեղ)

Մի անգամ փրկվեց որպես xltx, փակել ձևանմուշը

Մակրո

Բացեք նոր աշխատանքային գրքույկ ՝ մեր ծածկագիրը պահելու համար: «Sheet1» անվանումը վերանվանել «Main» և «Sheet2» անվանումը ՝ «Database»:

Տեղադրեք կոճակը «Հիմնական» վրա `ծրագիրը վարելու համար:

Սովորաբար, տվյալները վերցվում են շտեմարաններից: Քանի որ ոչ բոլորն են հարմար տվյալների բազայում, «Տվյալների շտեմարան» թերթը կպատկերացնի տվյալների շտեմարանի աղյուսակը:

Հոդվածի սկզբում գտնվող տվյալները պատճենեք A1-ի «Տվյալների բազա» ներդիրում…Հոդվածի սկզբում գտնվող տվյալները պատճենեք տվյալների բազայի A1 ներդիրում։

Կոդ

Ստորև բերված ծածկագրի կառուցվածքը հստակ սահմանում է գործընթացները.

  • Ստացեք տվյալները «տվյալների բազայից»;
  • Բացեք ձևանմուշը;
  • Կաղապարը լրացրեք տվյալների հետ և վերակայեք առանցքային աղյուսակի տվյալների տիրույթը:
  • Ձևանմուշը պահեք որպես զեկույց
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 տվյալների օբյեկտներ

Տվյալների բազայի ընթերցումը մոդելավորելու համար մենք պետք է հղում կատարենք Active X գրադարանին։ Դա կարող եք անել կոդի պատուհանից՝ Tools>References (Գործիքներ>Հղումներ) անցնելով։Հղում Active X գրադարանին

Փորձեք օրենսգիրքը

Նշեք «Հիմնական» կոճակը Ենթաբաշխման գրքույկ Աշխատանքային գիրքը պահեք որպես «Բնակչության ձևանմուշներ. Xlsm»:

ՓԱԿԵՔ աշխատանքային գիրքը և կրկին բացեք այն:

Սեղմեք արդյունքը դիտելու կոճակը: «Շտեմարան» -ում ավելացրեք տվյալների շարքերի քանակը և նորից գործարկեք ՝ տեսնելով, արդյոք գծապատկերը թարմացվել է հավելյալ տեղեկատվությամբ:

Վերևի ծածկագրում մենք նախապես ցույց ենք տվել ձևանմուշը ՝ XL. Տեսանելի = ueիշտ է, Կենդանի միջավայրում դա կարելի է անել ամենավերջում, այնպես որ էկրանի թարմացումները տեսանելի չեն:

Գործ ունենք տվյալների աղետի հետ:

Քիչ բաներ կան այնքան նյարդայնացնող, որքան շատ մշակված Excel ֆայլի վթարը, որը վնասում է սկզբնական ֆայլը և առանց պահուստային պատճենի հասանելիության։ Նման դեպքերում, երբ Excel-ը չի կարողանում վերականգնել վնասված ֆայլը, դրա վրա կատարված ամբողջ աշխատանքը կորչում է, եթե ձեռքի տակ չունեք գործիք։ ուղղել Excel- ը ֆայլեր.

Արժեք է նաև արժեքավոր աշխատանքի հաճախ կրկնօրինակը:

Հեղինակի ներածություն.

Ֆելիքս Հուքերը տվյալների վերականգման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում rar-ի վերանորոգում և sql վերականգնման ծրագրային արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք www.datanumen.com

Կիսվել հիմա ՝

Comments փակվում են: