Michelle pita,
Mislim da sam na dobrom putu s kružnom referencom. Evo mog problema. Imam dvije stanice
A1=5
iB1=5
. Ono što želim je da B1 zapamti 5, a zatim želim dodati novu vrijednost A1, recimo da je A1 sada jednako 10. Mogu li dobiti formulu B1 koja pamti 5, ali također dodaje 10? Pa sadB1=15
?
Obično su kružne reference loše, ali ponekad se mogu koristiti u našu korist. Ovdje je nemakro način na koji možete raditi ono što želite. To će funkcionirati samo u određenim situacijama.
- Na izborniku Excel odaberite Alati> Opcije.
- Idite na karticu Izračun. Označite okvir za ponavljanja. Promijenite maksimalne ponavljanja u 1.
- Kliknite U redu da biste zatvorili dijaloški okvir opcija.
- Unesite 5 u ćeliju A1.
- Unesite 0 u ćeliju B1
- Unesite
=A1+B1
u ćeliju B1 - Sada, dok unosite nove vrijednosti u A1, unos u B1 sjetit će se starog zbroja i dodati vrijednost iz A1.
Evo VELIKOG ograničenja. Ne možete unijeti nikakve vrijednosti drugdje na listu! Svaki put kada unesete vrijednost ili se list ponovno izračuna, vrijednost u A1 dodat će se vrijednosti u B1. Tako ćete, udarajući F9 nekoliko puta, gledati kako se B1 povećava za 5 za svaki F9.
Sigurniji način za to je s makrom makroa za obradu događaja. Morat ćete dodati ovaj kôd u okno koda za Sheet1 (pod pretpostavkom da radite na Sheet1). Kôd za obradu događaja bio bi sljedeći:
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
Ovaj se bit koda pokreće svaki put kad se ćelija promijeni na listu. Cilj je posebna varijabla objekta koja govori koja je stanica promijenjena. Voditelj događaja provjerava koja je ćelija upravo promijenjena. Ako je ćelija bila A1, tada će vrijednost u A1 dodati u B1. Moramo isključiti obrađivače događaja dok mijenjamo B1 kako se obrađivač događaja ne bi ponovno pozvao.