Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Tipy Programovanie Excel

skriptovací jazyk pre Microsoft Excel , Visual Basic , môžete rozšíriť programu Excel už dostatok sadu nástrojov . Avšak , kódovanie priamo v jazyku Visual Basic môže byť ťažké , pretože niektoré funkcie ( ako je triedenie ) vyžaduje nastavenie niekoľkých parametrov v presnom fashion.You môžete vyhnúť ručne kódovanie úplne tým , že nechá záznam makra písať kód pre vás , ale to nie je vždy čistý výsledok hľadáte . Riešením je spojiť to najlepšie z oboch svetov : použitie makra robiť hromadné kódovanie a trochu ručné kódovanie , aby dokončil prácu . Zoradiť Malé Tabuľka

Použite Visual Basic triediť malý stolík . Začnite zadaním nasledujúcej tabuľke v bunkách G8 , aby H11 v liste 1 :

Meno zákazníka , účet balanceZephyr Veterné Stroje , 5Arondale stoly , - 10Bubble Gumballs , 30

Po zadaní údajov, vyberte ho a spustiť záznam makra ( Developer > Record Macro ) . Názov makra MySort . Triediť ( Data > Zoradiť AZ ) vybrané údaje o prvom stĺpci , a zastaviť záznam makra .
Replay Makro

Skúste pomocou makra sa uchýliť iný rozsah : skopírovať a vložiť tabuľku zákazníka do inej oblasti listu , a vyberte novú radu . Replay makro ( Developer > Makrá > MySort ) , a všimnite si , efekt : dátumu nebola zoradené . Pozrite sa na problém v kóde jazyka Visual Basic vytvorená makrá záznam . Začnite tým , že prejdete do kódu : . Stlačením Alt - F8 , vyberte MySort makro a potom kliknite na tlačidlo Upraviť

Vnútri funkcie MySort , všimnite si toto vyhlásenie : Spojené

ActiveWorkbook.Worksheets ( " Hárok1 " ) Sort.SortFields.Add Legenda : . = Range ( " G8 " ) ...

a údajov o pár riadkov po :

SetRange Range ( " . C9 : D12 " )

Obe vyhlásenia sú zdrojom problému , sú dôvody , prečo MySort zlyhá triediť zvolený rozsah : Visual Basic makrá rekordér pevne rozsah dát ( " C9 : D12 " a " G8 " ) triediť . Vašou úlohou je nahradiť napevno rozsahy , aby makro sort aktuálny výber
použite pre výber nehnuteľnosti

Konkrétne sa jedná o parameter Key : . = Rozsah ( " G8 " ) hovorí , Excel zoradíte tabuľku zákazníka na základe " zákazníka " stĺpci , ktorý sa začína v bunke G8 . Ak chcete nahradiť , že pôvodné " zákazník " stĺpec s jedným vnútri aktuálne vybratého textu , pozrite sa do majetku výberu objektu Application . Táto vlastnosť sa týka rozsahu aktuálne vybraných buniek . Vymeňte Legenda : = Range ( " G8 " ) sa toto : Legenda : = k Budete definovať k vo chvíli

ďalšie pevne rozsahu nahradiť vyskytuje niekoľko vyhlásení dole : .. SetRange Range ( " G8 : H11 " ) . Metóda . SetRange indikuje Excel kompletný rad , ktorý chcete zoradiť . Vymeňte SetRange Range ( " G8 : H11 " ) . Se takto : . " . SetRange r"

premenné r, rovnako ako k ( EY ) premenné ste práve zadali , bude pochádzať z majetku výber . Prejsť na začiatok makro definície a zadajte tieto riadky :

Dim R , K ako rozsah

Set r = Application.SelectionSet k = r.Columns ( 1 )

Prvý priradenie sada definuje rozsah buniek potrebných pre metódu SetRange - . celý výber . Druhá úloha stanovuje rozsah potrebných pre kľúč radenia na prvý stĺpec vo výbere . Môžete radiť druhom stĺpci zmenou " 1 " na " 2 " .
Test Opravil Makro

korekcia kód je kompletný . Otestujte ho vracať do listu , výberom tabuľky zákazníka - tam , kde ju umiestniť na list - a beží MySort . Kopírovať tabuľku do novej sady buniek , vyberte bunky , a spustiť MySort na ne znova . Všimnite si , že druh teraz pracuje správne .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené