Liitkasti või loendi automaatne reguleerimine Exceli dünaamiliste andmevahemike põhjal

Kui andmebaasist alla laaditud andmed ületavad liitkasti vahemikku, siis uusi üksusi lihtsalt ei kuvata. Selle vastu võitlemiseks peab loendi- või liitkastide aluseks olevat vahemikku andmetega vastavusse viimiseks laiendama või kahanema. Selles artiklis uuritakse, kuidas seda automaatselt teha. 

Eeldatakse, et lugejal on kuvatud arendaja lint ja ta tunneb VBA redaktorit. Kui ei, siis kasutage Google'i „Exceli arendaja vahekaarti” või „Exceli koodi akent”.

Professionaalne viis liitkastide kuvamiseks on nende vahemiku laiendamine või vähenemine vastavalt vajadusele. Näiteks:Professionaalne viis liitkastide kuvamiseks

Dünaamilise vahemiku võtmeks on vastava veeru täidetud ridade arvu jälgimine funktsiooni =countA abil. See funktsioon loendab asustatud elemente lahtrite jadas, kuni see tabab viimast; ülaltoodud pildi esimese diagrammi puhul oleks see 11. rida.

Vahemiku automaatseks säilitamiseks on vaja määratletud nimesid, et jälgida täidetud ridade arvu. Näiteks kasutame oma vahemiku piiride määratlemiseks eCol (lõpuveerg) ja eRow (lõpurida). Mida rohkem ridu täidame, seda suuremaks muutub eRow väärtus.Kasutage vahemiku piiride määratlemiseks eCol ja eRow

Eespool määratletud nimed on seadnud loendi ühe veeru laiuseks (eCol = 1) eColi asustatud ridade arvu järgi (eRow = 11)

Lõpuks ilmuvad pealkirjad vahemikus "A2:A" ja eRow. Pange tähele, et indeksi funktsiooni kasutatakse vahemiku "Pealkirjad" viimase lahtri määramiseks. Tõhusalt tähendab vahemik "A2:A" ja eRow selles etapis "A2:A11".Indeksi funktsioon

Dünaamilise vahemiku saame seadistada automaatselt töövihiku avanemisel, kasutades alamprotseduuri Auto_open, mis käivitatakse enne töövihiku nähtavaks tulekut.

Kood

Avage töövihik ja sisestage see liitkasti ja mõnede andmetega. Selles harjutuses kasutatud näidistöövihiku leiate siin.

Avage VBA koodi aken ja sisestage moodul. Kopeerige allolev kood moodulisse.

Sündmus Auto_Open seadistab dünaamilise vahemiku „Pealkirjad“ viimase rea ja viimase veeru väärtused ning märgib hilisemad tehtud muudatused.

Sub auto_open()
     Dim eRow As Integer, eCol As Integer, i As Long
 
     On Error Resume Next
 
     'Clear the present define names, to avoid any duplications
     activeworkbook.Names("eCol").Delete
     activeworkbook.Names("eRow").Delete
     activeworkbook.Names("Titles").Delete
     Range("A1").Select
 
    'Titles will appear in the first column, A in this case
    eCol = 1
 
    'Find the last populated row
    eRow = Sheets("Main").Cells(Rows.Count, eCol).End(xlUp).Row
 
    'Define the names
     activeworkbook.Names.Add Name:="eCol", RefersTo:="=COUNTA($1:$1)"
     activeworkbook.Names.Add Name:="eRow", RefersToR1C1:="=COUNTA(C" & ColNo & ")"
     activeworkbook.Names.Add Name:="Titles", RefersTo:="=A2:INDEX($2:$200," & "eRow," & "eCol)"
End Sub

Sub DropDown1_Change()
     MsgBox "Directed by " & Cells(2, 5)
End Sub

Märkus. Vaatamise lihtsustamiseks on kõik paigutatud ühele lehele. Tavaliselt on veergude A ja B ning D ja E väärtused mõnel teisel, võib-olla peidetud lehel. Pange tähele, et teist veergu B ei kasutata antud harjutuse vahemiku määratlustes; veeru B väärtused saadakse tavalisel viisil liitkasti lahtri lingi omaduse kaudu (D2 peegeldab vahemiku kolmanda elemendi valikut, mis starts A2 juures, koos indeksi funktsiooniga E3-s, et leida direktor ( =INDEX(B:B,D2+1,1)).Liitkasti täidab algselt Auto_open

Salvestage töövihik ja seejärel avage see uuesti. Liitkasti täidab algselt Auto_open. Lisage üksused veergudesse A ja B ning jälgige liitkasti muudatusi.

Kahjustatud Exceli failide päästmine

Aeg-ajalt võivad Exceli failid pärast Exceli ootamatut kokkujooksmist rikkuda. Kui teil on varukoopia, saate andmed lihtsalt varukoopia abil taastada. Vastasel juhul peate võib-olla otsima professionaalset eksperti või tööriista, et taastada rikutud Excel faile.

Autori sissejuhatus:

Felix Hooker on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas rar remont ja SQL-i taastamise tarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom

Kommentaarid on suletud.