Utilizarea referințelor circulare la avantajul nostru - Sfaturi Excel

Michelle întreabă,

Cred că sunt pe drumul cel bun cu o referință circulară. Iată problema mea. Am două celule A1=5și B1=5. Ceea ce vreau să fac este ca B1 să memoreze 5 și apoi vreau să adaug o nouă valoare A1, să spunem că A1 este acum 10. Pot să am o formulă B1 care să memoreze 5, dar să adauge și 10? Deci acum B1=15?

De obicei, referințele circulare sunt un lucru rău, dar uneori pot fi folosite în avantajul nostru. Iată modul non-macro de a face ceea ce doriți să faceți. Va funcționa numai în anumite situații.

  • Din meniul Excel, selectați Instrumente> Opțiuni.
  • Accesați fila Calcul. Bifați caseta pentru Ierații. Schimbați iterațiile maxime la 1.
  • Faceți clic pe OK pentru a închide caseta de dialog cu opțiuni.
  • Introduceți 5 în celula A1.
  • Introduceți 0 în celula B1
  • Introduceți =A1+B1în celula B1
  • Acum, pe măsură ce introduceți valori noi în A1, intrarea în B1 va aminti vechiul total și va adăuga valoarea din A1.

Iată limitarea UMERĂ. Nu puteți introduce nicio valoare în altă parte pe foaie! De fiecare dată când introduceți o valoare sau foaia este recalculată, valoarea din A1 va fi adăugată la valoarea din B1. Astfel, lovind F9 de o grămadă de ori, veți urmări B1 crescând cu 5 pentru fiecare F9.

Modul mai sigur de a face acest lucru este cu un mic macro de gestionare a evenimentelor. Va trebui să adăugați acest cod în panoul de coduri pentru Sheet1 (presupunând că lucrați la Sheet1). Codul de gestionare a evenimentelor va fi după cum urmează:

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = “$A$1” Then Application.EnableEvents = False Range(“B1”).Value = Range(“B1”).Value + Target.Value Application.EnableEvents = True End If End Sub

Acest bit de cod se execută de fiecare dată când o celulă este schimbată pe foaie. Ținta este o variabilă de obiect specială care indică ce celulă a fost modificată. Managerul de evenimente verifică ce celulă tocmai a fost modificată. Dacă celula a fost A1, atunci va adăuga valoarea în A1 la B1. Trebuie să dezactivăm gestionarele de evenimente în timp ce schimbăm B1, astfel încât gestionarul de evenimente să nu se mai numească din nou.

Articole interesante...