Ako automaticky upravovať rozbaľovací zoznam alebo zoznam na základe dynamických rozsahov údajov v programe Excel

Ak údaje stiahnuté z databázy presahujú rozsah rozbaľovacieho poľa, nové položky sa jednoducho nezobrazia. Ak tomu chcete čeliť, rozsah, ktorý je základom zoznamových alebo kombinovaných polí, sa musí rozbaliť alebo zmenšiť, aby zodpovedal údajom. Tento článok skúma, ako to urobiť automaticky. 

Predpokladá sa, že čitateľ má zobrazenú pásku vývojárov a je oboznámený s editorom VBA. Ak nie, navštívte Google kartu „Vývojár Excel“ alebo „Okno kódu Excel“.

Profesionálny spôsob zobrazenia kombinovaných polí je nechať ich rozsahy podľa potreby zväčšiť alebo zmenšiť. Napríklad:Profesionálny spôsob zobrazovania kombinovaných boxov

Kľúčom k dynamickému rozsahu je sledovanie počtu vyplnených riadkov v príslušnom stĺpci pomocou funkcie = početA. Táto funkcia počíta spočítané prvky v sekvencii buniek, kým nenarazí na poslednú; v prípade prvého diagramu na obrázku vyššie by to bol riadok 11.

Na udržanie rozsahu automaticky vyžaduje definované názvy na sledovanie počtu vyplnených riadkov. Napríklad používame eCol (koncový stĺpec) a eRow (koncový riadok) na definovanie hraníc nášho rozsahu. Čím viac riadkov naplníme, tým vyššia bude hodnota eRow.Použite eCol a eRow na vymedzenie hraníc rozsahu

Vyššie definované názvy nastavili zoznam na jeden stĺpec široký (eCol = 1) podľa počtu vyplnených riadkov v eCol (eRow = 11)

Nakoniec sa tituly objavia v rozsahu „A2: A“ & eRow. Všimnite si, že funkcia Index sa používa na založenie poslednej bunky v rozsahu zvanom „Názvy“. Rozsah „A2: A“ & eRow sa v tejto fáze efektívne premieňa na „A2: A11“.Funkcia registra

Dynamický rozsah môžeme nastaviť automaticky pri otvorení zošita pomocou pod procedúry Auto_open, ktorá sa spustí skôr, ako bude zošit viditeľný.

Kódex

Otvorte zošit a vyplňte ho zoznamom a niekoľkými údajmi. Vzor zošita použitého v tomto cvičení nájdete tu.

Otvorte okno s kódom VBA a vložte modul. Skopírujte nižšie uvedený kód do modulu.

Udalosť Auto_Open nastavuje hodnoty posledného riadka a posledného stĺpca pre dynamický rozsah „Názvy“ a zaznamenáva následné vykonané zmeny.

Sub auto_open () Dim eRow As Integer, eCol As Integer, i As Long On Error Resume Next 'Vymažte súčasné definičné názvy, aby nedochádzalo k duplikáciám activeworkbook.Names ("eCol"). Odstráňte activeworkbook.Names ("eRow"). Vymazať activeworkbook.Names ("Tituly"). Vymazať rozsah ("A1"). Vyberte 'Tituly sa objavia v prvom stĺpci, A v tomto prípade eCol = 1' Nájdite posledný vyplnený riadok eRow = Sheets ("Main"). Bunky (Rows.Count, eCol) .End (xlUp) .Row 'Definujte názvy activeworkbook.Names.Add Name: = "eCol", RefersTo: = "= COUNTA ($ 1: $ 1)" activeworkbook.Names.Add Name: = "eRow", RefersToR1C1: = "= COUNTA (C" & ColNo & ")" activeworkbook.Names.Add Name: = "Tituly", RefersTo: = "= A2: INDEX ($ 2: $ 200," & "eRow, "&" eCol) "End Sub Sub DropDown1_Change () MsgBox" Directed by "& Cells (2, 5) End Sub

Poznámka: Všetko bolo umiestnené na jednej stránke, aby sa zjednodušilo prezeranie. Hodnoty v stĺpcoch A a B a D a E by boli zvyčajne na inom, prípadne skrytom liste. Upozorňujeme tiež, že druhý stĺpec, B, sa nepoužíva v definíciách rozsahu v tomto konkrétnom cvičení; hodnoty stĺpca B sa získavajú obvyklým spôsobom prostredníctvom vlastnosti bunkového odkazu v rozbaľovacom zozname (D2 odráža výber tretieho prvku v rozsahu, ktorý starts na A2, spojené s funkciou Index v „E3“ na vyhľadanie riaditeľa (= INDEX (B: B, D2 + 1,1)).Kombinované pole sa spočiatku vyplní Auto_open

Uložte zošit a potom ho znova otvorte. Rozbaľovacie pole bude na začiatku vyplnené Auto_open. Pridajte položky do stĺpcov A a B a sledujte zmeny v poli so zoznamom.

Záchrana poškodených súborov programu Excel

Po neočakávanom zlyhaní programu Excel sa môžu súbory Excel občas poškodiť. Ak máte zálohu, môžete údaje jednoducho obnoviť pomocou zálohy. V opačnom prípade bude pravdepodobne potrebné vyhľadať profesionálneho odborníka alebo nástroj na obnovenie poškodený Excel súbory.

Úvod autora:

Felix Hooker je expert na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane rar oprava a softvérové ​​produkty na obnovenie sql. Pre viac informácií navštívte www.datanumen. S

Jedna odpoveď na „Ako automaticky upraviť rozbaľovacie pole alebo zoznam na základe dynamických rozsahov údajov v Exceli“

Nechaj odpoveď

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *