Kumulyativ hujayra (kumulyativ)

Mundarija

Ko'pincha, bitta katakka ketma-ket kiritilgan bir nechta qiymatlarni jamlash (to'plash) kerak bo'lganda vaziyat yuzaga keladi:

Bular. agar, masalan, A1 katakchasiga 5 raqamini kiritsangiz, B1da 15 raqami paydo bo'lishi kerak. Agar siz A1 ga 7 raqamini kiritsangiz, B1 katakchasida 22 raqami paydo bo'lishi kerak va hokazo. Umuman olganda, buxgalterlar (va nafaqat ular) jami jami deb atashadi.

Siz oddiy makro yordamida bunday saqlash hujayra-akkumulyatorini amalga oshirishingiz mumkin. A1 va B1 katakchalari joylashgan varaq yorlig'ini o'ng tugmasini bosing va kontekst menyusidan tanlang Manba matni (Manba kodi). Ochilgan Visual Basic muharriri oynasida oddiy makro kodni nusxalash va joylashtirish:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Maqsadli Agar .Address(False, False) = "A1" Agar IsNumeric(.Value) bo'lsa, Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If end If end with end Sub.  

A1 va A2 katakchalarining manzillari, albatta, o'zingizniki bilan almashtirilishi mumkin.

Agar siz ma'lumotlar kiritilishini kuzatishingiz va alohida katakchalarni emas, balki butun diapazonlarni umumlashtirishingiz kerak bo'lsa, u holda makroni biroz o'zgartirish kerak bo'ladi:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Agar kesishmasa(Nishon, diapazon("A1:A10")) Hech narsa bo'lmasa Numeric(Target.Value) bo'lsa, Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

Ma'lumotlar A1:A10 diapazonidagi katakchalarga kiritiladi va kiritilgan raqamlar o'ngdagi qo'shni ustunda umumlashtiriladi deb taxmin qilinadi. Agar sizning holatingizda u qo'shni bo'lmasa, Offset operatorida o'ngga siljishni oshiring - 1 ni kattaroq raqam bilan almashtiring.

  • Makroslar nima, VBA-da makro kodni qayerga kiritish kerak, ulardan qanday foydalanish kerak?

Leave a Reply