Celula cu acumulare (total cumulată)

Destul de des există o situație în care trebuie să rezumăm (acumulați) mai multe valori introduse consecutiv într-o singură celulă:

Ie dacă, de exemplu, introduceți numărul 5 în celula A1, atunci numărul 15 ar trebui să apară în B1. Dacă introduceți apoi numărul 7 în A1, atunci 22 ar trebui să apară în celula B1 și așa mai departe. În general, faptul că contabili (și nu numai ei) numesc un total cumulativ.







Dacă intrarea de date de cale și nu are nevoie pentru a rezuma celulele individuale, și întreaga gamă, macro ar trebui să se schimbe un pic:

Se presupune că introducerea datelor este efectuată în celule din intervalul A1: A10, iar numerele introduse sunt adăugate coloanei adiacente din dreapta. Dacă în cazul tău nu este alăturat, atunci măriți trecerea spre dreapta în operatorul offset - înlocuiți 1 cu un număr mai mare.

Link-uri conexe

Totul este magnific, doar la mine cererea mică, modernizarea acestui marcoasă.
Celulele pentru introducerea datelor sunt mai multe, într-o coloană, iar celula pentru acumularea de date este una. Cum să faci asta?


unde B1 este celula dvs. de acumulare unică

Vă mulțumesc foarte mult pentru această recepție. Chiar aveam nevoie de ea.

Nicholas, mulțumesc foarte mult, lucru minunat. Site-ul dvs. este doar o comoară prețioasă pentru "nebun" pe Excel!

Poți să-mi spui ce greșesc? Trebuie să faceți o serie de două coloane în serie, care conține, de asemenea, date din două coloane situate una lângă alta. Economiile sunt deplasate cu 3 coloane spre dreapta. Prima macro este declanșată, iar cea de-a doua nu dorește - nici într-o fereastră macro, nici în ferestre diferite.

Lily, procedura Worksheet_Change este doar una și aveți două (și chiar cu același nume) - astfel încât al doilea nu este satisfăcut. Trebuie să combinați codul acestor două macrocomenzi într-unul singur. Iar a doua jumătate nu este necesară aici - este suficient să crească intervalul sensibil:






Nicholas, mulțumesc pentru minunatul macro! Dar este o problemă: cu o anumită periodicitate datele din coloana de intrare # 91; Țintă, domeniu ("O7.O5000") # 93; modificați utilizând o formulă (care trage date noi pentru fiecare linie în funcție de condițiile dintr-un alt fișier). Această formulă este stocată ca o formulă numai într-o singură celulă deasupra antetului, iar în rest, după ce actualizarea datelor este salvată ca o valoare (pentru a salva resursele). DAR când formula este introdusă în câmpurile de intrare, nu se întâmplă nimic în câmpurile de acumulare (formulele sunt introduse de interval), iar cu Ctrl + C - Ctrl + V (ca valoare), nimic.
Cu toate acestea, dacă luăm unul câte unul, adică copiați formula și introduceți-o în câmpul de introducere a datelor ONE (pentru actualizarea respectivă), apoi se schimbă corect câmpul de acumulare. Dar liniile a ceva mai mult de 500 - în fiecare mână pentru a sta mult timp.
Și, de asemenea, dacă după introducerea formulei în câmpul de introducere a datelor, apăsați F2 și Enter, atunci câmpul de acumulare se schimbă și în mod corect.
ÎNTREBARE: ce trebuie făcut pentru a face schimbarea câmpului de acumulare după introducerea formulei în câmpul de intrare (fără a cădea în fiecare din F2). - Avem nevoie de ajutor, te rog.
Codul sursă este:
Schimbul privat al fișei de lucru (obiectivul ByVal ca Excel.Range)

Dacă nu se intersectează (țintă, interval ("o7: o5000";)) nu este nimic atunci

Dacă este IsNumeric (Target.Value) Apoi

Target.Offset (0, 1). Valoare = Target.Offset (0, 1) .Value + Target
Application.EnableEvents = Adevărat

salut nicholas
macro-ul funcționează grozav, mulțumesc pentru sfaturile dumneavoastră.
vă rugăm să vă rugăm să vă rugăm să introduceți date pe A1, pe A2 se acumulează, mare. Așa cum se poate face atunci când introduceți, de exemplu, datele de pe B1, din sumele acumulate pe A2 a fost minus. Introducerea datelor în A1 și B1 prin comandă, aș dori să văd rezultatul pe A2. Celula A2 se află pe cealaltă foaie.

Bună ziua Nikolay!
Vă rog să ne spuneți cum să programați macro-ul astfel încât datele să fie înfundate într-un registru de lucru Excel și adăugate la cealaltă? Învăț doar să lucrez cu macrocomenzi și nu sunt foarte bun la asta încă. Ajutor, îți voi fi foarte recunoscător!







Trimiteți-le prietenilor: