Hogyan hozzunk létre a VBA-ban excel alkalmazás összeállításához az alkalmazást a írószerek az irodában - trükkök

Nézzük meg egy másik probléma. A cél -, hogy dolgozzon ki egy felhasználóbarát alkalmazás elkészítésére irányuló kérelmet írószerek az irodában. Kezdjük azzal, hogy létrehoz egy új Microsoft Excel munkafüzetet, és a második lap képezi majd egy listát a termékek árát (ábra. 2.8). Ez a lista, mint az előző példában. szervezett éppen elég - a nevét és számát az ára. Most az első munkalap, hozzon létre egy megfelelő formában adja meg információkat a rendelés (ábra. 2.9).

Tekintsük először a technikai lépéseket tervez az első lapot. Először távolítsa el a rácsot a képernyőn (ez a hatás már megtörtént korábban). Ezt követően, gondoskodjon az oszlopok az A, B, C és D a következő: létre a külső és belső határok, bemutatjuk oszlopok jelzett sejteket A3, B3, C3 és D3. Most térjünk rá arra a helyre, az ellenőrzések ua lapot. A jobb szélső vezérlés - „combo box”. A név a tárgy, folytatnunk kell, és ezért annak Név tulajdonságot állítsa be a „mi” érték - Spk.

Hogyan hozzunk létre a VBA-ban excel alkalmazás összeállításához az alkalmazást a írószerek az irodában - trükkök

Ábra. 2.8. Árjegyzéke irodaszerek

Továbbá combo box a lapon címke jelen van, amely felett egy cellát a munkalapon részösszeg szó. A felirat önmagában használják alá: a pár összegeket. Az ő nevét fogja használni a további eljárást, és ezért fog létrehozni a neve ingatlan Symma. A felső részén a ábra. 2.9 található három gomb - Tiszta. Újraszámítása és nyomtatás. Nevük választja sootvetstveshyu - Pap. Calc és Prn.

Ennél a felület befejeződött, és akkor mehet a programozás. Először is, meg kell tenni Spk lista automatikusan kitölti, amikor megnyitja a könyvet. Ezért gondoskodjon eljárást elvégezni, amikor kinyitotta a könyvet, az alábbiak szerint (a hirdetést 2,11).

„Listing 2.11. Eljárás Workbook_Open Private Sub Workbook_Open () 'Purification munkalapok lista (1) .Spk.Clear' számítva a rekordok száma az ár a második lap N = 0 Míg munkalapok (2) .Cells (N + 2, 1) .Value <> "" N = N + 1 Wend „lista Töltet i = 1-től n a = munkalapok (2) .Cells (i + 1, 1) .Value „” _ Munkalapok (2) .Cells (i + 1, 2) .Value "Rub." Munkalapok (1) .Spk.AddItem Next 'nullázása doboz munkalapok összege (1) .Symma.Caption = "0"' Beállítás lista munkalapok (1) .Spk.ListIndex = -1 End Sub

Hogyan hozzunk létre a VBA-ban excel alkalmazás összeállításához az alkalmazást a írószerek az irodában - trükkök

Ábra. 2.9. Az elektronikus megrendelőlap írószerek

A következő feladat ezen belül tervezés, hogy ha rákattint a felhasználói érdeklődési területen elemet a lista információ került rögzítésre a következő sorban az első munkalapot. Ily módon, mi is az alkalmazás a következő sort, amely által végrehajtott eljárás listában 2.12.

„Listing 2.12. Az eljárás által végrehajtott kattintva az combobox Private Sub Spk_Click () „a számlálási változó N a sorok száma már megtöltött megrendelőlapot N = 0, miközben a sejtek (N + 4, 1) .Value <> "" N = N + 1 Wend 'Írja a neve a következő elemet a sejtek felhasználási (N + 4, 1) = munkalapok (2) .Cells (Spk.ListIndex + 2, 1) .Value' Írja az ár következő pozíciókat az ár Cells ( N + 4, 2) = munkalapok (2) .Cells (Spk.ListIndex + 2, 2) Eddig „funkciót arra használjuk, hogy írja be a számot InputBox ColTov = InputBox termékek ( "Enter mennyiség", "Enter az egységek számát", 1) a sejteket (N + 4, 3) .Value = ColTov „kiszámítása az összege az áru helyzetének Ha IsNumeric (ColTov) = igaz, akkor a sejteket (N + 4, 4) .Value = ColTov * a sejteket (N + 4, 2) .Value End Ha „megszámlálása teljes összegének Symma.Caption = CStr (Val (Symma.Caption) + sejtek (N + 4, 4)) End Sub

Ez szabványos funkciók Visual Basic: Val (átvinni az adatokat a teszt típusa numerikus), CStr (az információ közvetítése a numerikus típusú szöveg), és IsNumeric (ellenőrizni -, hogy a kifejezés értéke). Ábra. 2.10 azt mutatja, hogy a forma több terméket.

rákattint a gombok feldolgozás Conversion és tiszta, figyelembe vesszük később, de most tovább a harmadik lap, amely ábrán látható. 2.11. Nincsenek kontroll, nincs - csak a szöveg és a cella formázását. Mielőtt a tizedik sorban a harmadik lapot a statikus szöveg - az eredmény az elhelyezés és az azt követő formázás a munkalap adatainak sejtekben. Kezdve a 11. sorban, az információk az olyan eljárás eredménye, amely végre kattintva a Nyomtatás gombra. Most, miután az üres nyomólemez jön létre, akkor mehet egy olyan eljárás kidolgozása végre kattintva a Nyomtatás gombra. a szöveg el van látva a szükséges poyasneshshmi listában 2.13.

Hogyan hozzunk létre a VBA-ban excel alkalmazás összeállításához az alkalmazást a írószerek az irodában - trükkök

Ábra. 2.10. Töltsd ki az igénylőlapot irodaszerek

„Listing 2.13. Feldolgozás kattintva a Nyomtatás gombra Private Sub Prn_Click () Dim SymmaItog As Long „Counting tele sor árut a 3. lapon N = 0 Amíg munkalapok (3) .Cells (N + 11, 1) .Eddig <> "" N = N + 1 Wend „információ tisztítása eltávolításával határok i = 1-től n j = 1-től 5 munkalapok (3) .Cells (10 + i, j) .Value = "" munkalapok (3) .Cells (10 + i, j) .Borders.LineStyle = xlNone Következő Következő „Purification összefoglaló információt munkalapok (3) .Cells (10 + N + 2, 4) .Value = "" munkalapok (3) .Cells (10 + N + 2, 5) .Value = "" „számlálása a sorok számát az áruk az 1. lapon N1 = 0, miközben a sejtek (N1 + 4, 1) .Value <> "" N1 = N1 + 1 Wend 'Változó Symmaltog összefoglaló információk SymmaItog = 0' ciklus kitöltési 3. levél for i = 1-től N1 munkalapok (3) .Cells (10 + i, 1) .Value = i munkalapok ( 3) .Cells (10 + i, 2) .Value = Cells (i + 3, 1) munkalapok (3) .Cells (10 + i, 3) .Value = Cells (i + 3, 2) munkalapok (3) .Cells (10 + i, 4) .Value = Cells (i + 3, 3) munkalapok (3) .Cells (10 + i, 5) .Value = Cells (i + 3, 4) SymmaItog = SymmaItog + sejteket ( i + 3, 4) „bejegyzése a cella keret j = 1-től 5 munkalapok (3) .Cells (10 + i, j) .Borders.LineStyle = xlContinuos Következő Következő munkalapok (3) .Cells (10 + N1 + 2, 4) .Value = "Total" munkalapok (3) .Cells (10 + N1 + 2, 5) .Value = SymmaItog munkalapok (3) .Activate End Sub

Elején az eljárás változó be, amelyben a számított összeg alább. A szélütés származó sejtek információt az általunk használt ingatlanok vonalstílus Határok gyűjtemény. Az elején az eljárást egy értéket rendelünk az ingatlan xlNone elért megszüntetése meglévő határokat. A második felében az eljárás visszavonását követő információ sejt körvonalait folytonos vonal:

Munkalapok (3) .Cells (10 + i, j) .Borders.LineStyle = xlContinuos