Կուտակային բջիջ (կուտակային)

Բովանդակություն

Շատ հաճախ իրավիճակ է ստեղծվում, երբ մեզ անհրաժեշտ է մեկ բջիջի մեջ հաջորդաբար մուտքագրված մի քանի արժեքներ ամփոփել (կուտակել).

Նրանք. եթե, օրինակ, A1 բջիջում մուտքագրեք թիվ 5, ապա B1-ում պետք է հայտնվի թիվ 15-ը: Եթե ​​այնուհետև մուտքագրեք թիվ 1-ը A7-ում, ապա B1 բջիջում պետք է հայտնվի 22-ը և այլն: Ընդհանրապես, այն, ինչ հաշվապահները (և ոչ միայն նրանք) անվանում են կուտակային տոտալ։

Դուք կարող եք իրականացնել նման պահեստային բջիջ-ակումուլյատոր՝ օգտագործելով պարզ մակրո: Աջ սեղմեք թերթի ներդիրի վրա, որտեղ գտնվում են A1 և B1 բջիջները և ընտրեք համատեքստի ընտրացանկից Աղբյուրի տեքստը (Աղբյուրի կոդը). Visual Basic խմբագրիչի պատուհանում, որը բացվում է, պատճենեք և տեղադրեք պարզ մակրո կոդը.

Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" then If IsNumeric(.Value) then Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End With End Sub  

A1 և A2 բջիջների հասցեները, իհարկե, կարող են փոխարինվել ձեր սեփականով:

Եթե ​​Ձեզ անհրաժեշտ է հետևել տվյալների մուտքագրմանը և ամփոփել ոչ թե առանձին բջիջները, այլ ամբողջ տիրույթները, ապա մակրոն պետք է մի փոքր փոխվի.

Մասնավոր ենթաօրենսդրական աշխատաթերթ_Change (ByVal Target As Excel.Range) If Not Intersect(Target, Range("A1:A10")) Is Nothing then If IsNumeric(Target.Value) then Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

Ենթադրվում է, որ տվյալները մուտքագրվում են A1:A10 միջակայքի բջիջներում, իսկ մուտքագրված թվերն ամփոփվում են աջ կողմում գտնվող կից սյունակում: Եթե ​​ձեր դեպքում այն ​​հարևան չէ, ապա Օֆսեթ օպերատորում ավելացրեք տեղաշարժը դեպի աջ – փոխարինեք 1-ը ավելի մեծ թվով:

  • Ի՞նչ են մակրոները, որտեղ տեղադրել մակրո կոդը VBA-ում, ինչպես օգտագործել դրանք:

Թողնել գրառում