Používanie kruhových odkazov na našu výhodu - tipy pre program Excel

Michelle sa pýta,

Myslím, že som na správnej ceste s kruhovým odkazom. Tu je môj problém. Mám dve bunky A1=5a B1=5. To, čo chcem urobiť, je nechať si B1 zapamätať 5 a potom chcem pridať novú hodnotu do A1, povedzme, že A1 sa rovná 10. Môžem mať vzorec B1, ktorý si zapamätá 5, ale pridá aj 10? Takže teraz B1=15?

Kruhové odkazy sú zvyčajne zlá vec, ale niekedy ich možno využiť v náš prospech. Toto je makro-spôsob, ako robiť to, čo chcete robiť. Bude to fungovať iba v určitých situáciách.

  • V ponuke programu Excel vyberte položku Nástroje> Možnosti.
  • Prejdite na kartu Výpočet. Začiarknite políčko pre iterácie. Zmeňte maximálnu iteráciu na 1.
  • Kliknutím na tlačidlo OK zatvorte dialógové okno možností.
  • Do bunky A1 zadajte 5.
  • Do bunky B1 zadajte 0
  • Vstúpte =A1+B1do bunky B1
  • Keď teraz zadávate nové hodnoty do A1, záznam v B1 si zapamätá starý súčet a pridá hodnotu z A1.

Tu je OBROVSKÉ obmedzenie. Nemôžete zadať žiadne hodnoty inde na hárku! Zakaždým, keď zadáte hodnotu alebo sa prepočíta hárok, hodnota v A1 sa pridá k hodnote v B1. Teda mnohokrát zasiahnutím F9 budete sledovať, ako sa B1 zvyšuje o 5 pre každú F9.

Bezpečnejšie to urobíte pomocou malého makra obsluhy udalostí. Tento kód budete musieť pridať na tablu kódu pre List1 (za predpokladu, že pracujete na liste1). Kód obsluhy udalosti by bol nasledovný:

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

Tento bit kódu sa spustí kedykoľvek, keď sa na hárku zmení bunka. Cieľ je špeciálna objektová premenná, ktorá určuje, ktorá bunka bola zmenená. Obsluha udalosti skontroluje, ktorá bunka bola práve zmenená. Ak bola bunka A1, pridá hodnotu z A1 do B1. Pri zmene B1 musíme vypnúť obslužné rutiny udalostí, aby sa obsluha udalosti znova nevolala.

Zaujímavé články...