Naudojant žiedines nuorodas į mūsų pranašumą - „Excel“ patarimai

Michelle klausia,

Manau, kad einu teisingu keliu su žiedine nuoroda. Čia mano problema. Turiu dvi celes A1=5ir B1=5. Ką aš noriu padaryti, tai B1 įsiminti 5, tada aš noriu pridėti naują reikšmę A1, sakykime, kad A1 dabar lygus 10. Ar galiu turėti B1 formulę, kuri įsimintų 5, bet pridėtų ir 10? Taigi dabar B1=15?

Paprastai apskritos nuorodos yra blogas dalykas, tačiau kartais jas galima panaudoti mūsų naudai. Čia yra ne makrokomandas būdas daryti tai, ką norite daryti. Tai veiks tik tam tikrose situacijose.

  • „Excel“ meniu pasirinkite Įrankiai> Parinktys.
  • Eikite į skirtuką Skaičiavimas. Pažymėkite laukelį „Kartojimai“. Pakeiskite maksimalų kartojimų skaičių į 1.
  • Spustelėkite Gerai, kad uždarytumėte parinkčių dialogo langą.
  • A1 langelyje įveskite 5.
  • B1 langelyje įveskite 0
  • Įveskite =A1+B1langelį B1
  • Dabar, kai įvesite naujas reikšmes A1, B1 įrašas prisimins seną sumą ir pridės vertę iš A1.

Čia yra didžiulis apribojimas. Negalite įvesti jokių verčių kitur lape! Kaskart, kai įvesite vertę arba lapas bus perskaičiuotas, A1 reikšmė bus pridėta prie B1 vertės. Taigi, pataikydami F9 daugybę kartų, stebėsite, kaip kiekvienam F9 B1 padidėja 5.

Saugiau tai padaryti naudojant mažą įvykių tvarkymo makrokomandą. Šį kodą turėsite įtraukti į „Sheet1“ kodo sritį (darant prielaidą, kad dirbate „Sheet1“). Įvykių tvarkytojo kodas būtų toks:

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

Šis kodo bitas vykdomas bet kuriuo metu, kai langelyje pakeičiama ląstelė. Tikslas yra specialus objekto kintamasis, kuris nurodo, kuri ląstelė buvo pakeista. Įvykių tvarkytojas patikrina, kuri ląstelė buvo ką tik pakeista. Jei langelis buvo A1, tada jis pridės reikšmę A1 į B1. Keisdami B1 turime išjungti įvykių tvarkytuvus, kad įvykių tvarkytojas daugiau savęs nepaskambintų.

Įdomios straipsniai...