Kako samodejno prilagoditi kombinirano polje ali seznam na podlagi dinamičnih obsegov podatkov v Excelu

Skupna raba zdaj:

Kadar podatki, preneseni iz baze podatkov, presegajo obseg kombiniranega polja, novi elementi preprosto niso prikazani. Če želite to preprečiti, je treba obseg, ki je podlaga za polja s seznami ali kombinirano, razširiti ali skrčiti, da se ujema s podatki. Ta članek preučuje, kako to storiti samodejno. 

Predpostavlja se, da ima bralec prikazan trak za razvijalce in da pozna urejevalnik VBA. V nasprotnem primeru prosimo za Google »Excel Developer Tab« ali »Excel Code Window«.

Profesionalen način prikazovanja kombiniranih polj je, da se njihovi razponi po potrebi širijo ali krčijo. Na primer:Profesionalen način prikazovanja kombiniranih škatel

Ključ do dinamičnega obsega je spremljanje števila naseljenih vrstic v ustreznem stolpcu s pomočjo funkcije = countA. Ta funkcija šteje naseljene elemente v zaporedju celic, dokler ne zadene zadnje; v primeru prvega diagrama na zgornji sliki bi bila to vrstica 11.

Če želite ohraniti obseg, samodejno potrebujete definirana imena za sledenje številu napolnjenih vrstic. Za določitev meja našega obsega na primer uporabljamo eCol (končni stolpec) in eRow (končna vrstica). Več kot vrstic vstavimo, večja bo vrednost eRow.Z eCol in eRow določite meje dosega

Zgornja definirana imena so seznam nastavila na en stolpec (eCol = 1) s številom zapolnjenih vrstic v eCol (eRow = 11)

Na koncu se naslovi pojavijo v območju »A2: A« in eRow. Opazili boste, da se funkcija indeksa uporablja za določitev zadnje celice v obsegu, imenovanem "Naslovi". Obseg "A2: A" & eRow se na tej stopnji dejansko prevede v "A2: A11".Funkcija indeksa

Dinamični razpon lahko samodejno nastavimo, ko se delovni zvezek odpre, s pomočjo podprocedura Auto_open, ki se zažene, preden delovni zvezek postane viden.

Kodeks

Odprite delovni zvezek in ga zapolnite s kombiniranim poljem in nekaj podatki. Najdete vzorec delovnega zvezka, uporabljenega pri tej vaji tukaj.

Odprite okno kode VBA in vstavite modul. Kopirajte spodnjo kodo v modul.

Dogodek Auto_Open nastavi vrednosti zadnje vrstice in zadnjega stolpca za dinamični razpon »Naslovi« in zabeleži nadaljnje spremembe.

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

Opomba: Zaradi lažjega pregleda je vse postavljeno na eno stran. Običajno so vrednosti v stolpcih A in B ter D in E na drugem, morda skritem listu. Upoštevajte tudi, da se drugi stolpec, B, v tej vaji ne uporablja v definicijah obsega; vrednosti stolpca B so pridobljene na običajen način prek lastnosti povezave celice v kombiniranem polju (D2 odraža izbiro tretjega elementa v obsegu, ki se začne pri A2, skupaj s funkcijo Index v »E3« za iskanje direktorja ( =INDEX(B:B,D2+1,1)).Combo Box bo sprva zapolnil Auto_open

Shranite delovni zvezek in ga znova odprite. Kombinirano polje bo sprva zapolnilo Auto_open. V stolpca A in B dodajte elemente in opazujte spremembe v kombiniranem polju.

Poškodovane datoteke Excel

Občasno se lahko datoteke Excel po nepričakovanih zrušitvah poškodujejo. Če imate varnostno kopijo, lahko podatke preprosto obnovite s svojo varnostno kopijo. V nasprotnem primeru boste morda morali poiskati strokovnjaka ali orodje za obnovitev pokvarjen Excel datotek.

Uvod avtorja:

Felix Hooker je strokovnjak za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z popravilo rar-ja in sql programske izdelke za obnovitev. Za več informacij obiščite www.datanumen.com

Skupna raba zdaj:

Komentarji so zaprti.