Cum se creează o aplicație în vba excel pentru a face o aplicație pentru papetărie de birou pentru birou - trucuri

Să luăm în considerare încă o problemă. Scopul nostru este de a dezvolta o aplicație convenabilă pentru elaborarea unei aplicații pentru papetărie pentru birou. În primul rând, vom crea un nou registru de lucru pentru Microsoft Excel și vom crea o listă de produse cu prețurile lor pe foaia a doua (Figura 2.8). Această listă este aceeași ca în exemplul anterior. organizat destul de simplu - numele și alături de prețul său. Acum, pe prima foaie de lucru, vom crea o formă convenabilă pentru introducerea informațiilor despre comandă (Figura 2.9).







Să analizăm mai întâi etapele tehnice pentru proiectarea primei foi. Mai întâi, eliminăm grila de pe ecran (această acțiune a fost deja întâlnită mai devreme). Dupa aceasta vom forma coloanele A, B, C si D dupa cum urmeaza: vom stabili granitele exterioare si interne, vom introduce inscriptii pe coloane in celulele A3, B3, C3 si D3. Acum mergeți la locația comenzilor și a colii. Controlul cel mai potrivit este "Cutia Combo". Numele acestui obiect va fi în continuare necesar și, prin urmare, pentru proprietatea Nume, se stabilește valoarea "noastră" - Spk.

Cum se creează o aplicație în vba excel pentru a face o aplicație pentru papetărie de birou pentru birou - trucuri

Fig. 2.8. Listă de prețuri pentru papetărie

În plus față de caseta combo, există o inscripție pe foaia de deasupra căreia apare cuvântul Total în celula foii de lucru. Inscripția însăși este utilizată pentru a număra suma. Numele său va fi folosit în proceduri ulterioare și, prin urmare, va stabili proprietatea Nume la valoarea lui Symma. În partea superioară a Fig. 2.9 există încă trei butoane - Clear. Recalcularea și imprimarea. Numele lor sunt alese în mod corespunzător - Clr. Calc și Prn.

La această interfață este finalizată proiectarea și puteți trece la programare. În primul rând, trebuie să vă asigurați că lista Spk este populate automat când deschideți cartea. Prin urmare, vom formaliza procedura efectuată la deschiderea cărții, după cum urmează (Lista 2.11).

"Lista 2.11. Procedura Workbook_Open Private Sub Workbook_Open () 'Lista de purificare Worksheets (1) .Spk.Clear' numărarea numărului de înregistrări în prețul de pe a doua foaie n = 0 In timp ce Worksheets (2) .Cells (N + 2, 1) .value <> "N = N + 1 Wend" Completarea în listă Pentru i = 1 Pentru N a = Foi de lucru (2) .Celuri (i + 1, 1) .Value „“ _ Fișe de lucru (2) .Celuri (i + 1, 2) .Value "Rub." Foi de lucru (1) .Spk.AddItem un Următoarea 'Aducerea la zero cutie Worksheets suma (1) .Symma.Caption = "0"' Set Worksheets lista (1) .Spk.ListIndex = -1 End Sub

Cum se creează o aplicație în vba excel pentru a face o aplicație pentru papetărie de birou pentru birou - trucuri






Fig. 2.9. Formular electronic de comandă pentru papetărie

Următoarea sarcină în această dezvoltare este aceea că atunci când faceți clic pe elementul din caseta combo care îi interesează pe utilizator, informațiile sunt înregistrate în linia următoare a primei foi de lucru. În acest mod, vom include următoarea linie în aplicație, care este implementată folosind procedura prezentată în Lista 2.12.

"Lista 2.12. Procedura care se efectuează făcând clic pe câmpul Private Sub Spk_Click (). Numărarea numărului de linii de comandă completate în variabila N N = 0 În timp ce celulele (N + 4, 1) .Value <> "" N = N + 1 Wend 'Scrieți numele următorului element în aplicația Cells (N + 4, 1) = Worksheets (2) .Cells (Spk.ListIndex + 2, 1) .value' Scrieți prețul următoarele poziții din celulele prețurilor ( N + 4, 2) = Worksheets (2) .Cells (Spk.ListIndex + 2, 2) funcţia .value“este utilizată pentru a introduce numărul produselor InputCasuta ColTov = InputBox ( "introduceţi suma", "se indică numărul de unități", 1) celulele (N + 4, 3) calcularea sumei poziției mărfurilor .value = ColTov“Dacă IsNumeric (ColTov) = Apoi celulele adevăraţi (N + 4, 4) .value = ColTov * celule (N + 4, 2) .value End Dacă "Calcularea sumei totale Symma.Caption = CStr (Val (Symma.Caption) + Celule (N + 4, 4)) End Sub

Aici folosim funcțiile standard din Visual Basic: Val (pentru traducerea datelor din ecranul de testare la numeric), CStr (pentru traducerea informațiilor de la numeric la text) și IsNumeric (pentru a verifica dacă expresia este un număr întreg). În Fig. 2.10 arată umplerea formularului cu mai multe mărfuri.

Prelucrarea clicurilor pe butoanele Recalculare și Ștergere va fi luată în considerare puțin mai târziu, dar pentru moment, să luăm a treia foaie, care este prezentată în Fig. 2.11. Nu există comenzi - doar text și formatare celulară. Până la linia a zecea a celei de-a treia coli, textul este static - rezultatul plasării și formatarea ulterioară a datelor din celule. Începând cu al 11-lea rând, informațiile sunt o consecință a procedurii care se execută făcând clic pe butonul Imprimare. Acum, după ce se creează formularul tipărit, puteți continua dezvoltarea procedurii, efectuată făcând clic pe butonul Imprimare. al cărui text, cu explicațiile necesare, este prezentat în Lista 2.13.

Cum se creează o aplicație în vba excel pentru a face o aplicație pentru papetărie de birou pentru birou - trucuri

Fig. 2.10. Completarea unui formular de cerere pentru articole de papetărie

"Lista 2.13. Prelucrare clic pe butonul Print Private Sub Prn_Click () Dim SymmaItog ca fiind inclusă pe termen lung „umplut cu rânduri de mărfuri pe locul 3 foaia N = 0 În timp ce Worksheets (3) .Cells (N + 11, 1) .value <> "" N = N + 1 Wend „informații Purificare îndepărtarea limite Pentru i = 1 la N Pentru j = 1 La 5 Worksheets (3) .Cells (10 + i, j) .value = "" Worksheets (3) .Cells (10 + i, j) .Borders.LineStyle = xlNone Urmatorul „informație sumară purificare Worksheets (3) .Cells (10 + N + 2, 4) .value = "" Worksheets (3) .Cells (10 + N + 2, 5) .value = "" „Numărarea numărul de rânduri de mărfuri pe prima foaia N1 = 0 în timp ce celulele (N1 + 4, 1) .value <> "" N1 = N1 + 1 Wend 'Variabila Symmaltog pentru informații sintetizate SymmaItog = 0' ciclu pentru umplerea leaf 3a Pentru i = 1 Pentru N1 Worksheets (3) .Cells (10 + i, 1) .value = i Worksheets ( 3) .Cells (10 + i, 2) .value = Cells (i + 3, 1) Worksheets (3) .Cells (10 + i, 3) .value = Cells (i + 3, 2) Worksheets (3) .Cells (10 + i, 4) .value = celule (i + 3, 3) foi de lucru (3) .Cells (10 + i, 5) .value = celule (i + 3, 4) SymmaItog = SymmaItog + Cells ( i + 3, 4) „Înregistrarea cadrului celulei pentru j = 1 la 5 Worksheets (3) .Cells (10 + i, j) .Borders.LineStyle = xlContinuos Urmatorul Worksheets (3) .Cells (10 + N1 + 2, 4) .value = "total" Worksheets (3) .Cells (10 + N1 + 2, 5) .value = SymmaItog Worksheets (3) .Activate End Sub

La începutul procedurii, este introdusă o variabilă, în care suma este apoi calculată. Pentru o lovitură de celule cu informațiile afișate, am folosit proprietatea LineStyle din colecția Fronturi. La începutul procedurii, prin atribuirea valorii xlNone acestei proprietăți, limitele existente sunt eliminate. În a doua jumătate a procedurii, după ieșirea informațiilor, celulele sunt înconjurate de o linie solidă:

Fișe de lucru (3) .Celuri (10 + i, j) .Borders.LineStyle = xlContinuos







Trimiteți-le prietenilor: