Selil kimilatif (kimilatif)

contents

Byen souvan, yon sitiyasyon rive lè nou bezwen rezime (akimile) plizyè valè sekans antre nan yon sèl selil:

Moun sa yo. si, pou egzanp, ou antre nimewo a 1 nan selil A5, Lè sa a, nimewo 1 a ta dwe parèt nan B15. Lè sa a, si ou antre nimewo 1 nan A7, Lè sa a, 1 ta dwe parèt nan selil B22, ak sou sa. An jeneral, sa kontab yo (e pa sèlman yo) rele yon total kimilatif.

Ou ka aplike tankou yon depo selil-akimilatè lè l sèvi avèk yon macro senp. Dwa-klike sou tab la fèy kote selil A1 ak B1 yo sitiye epi chwazi nan meni an kontèks Tèks sous (Kòd sous). Nan fenèt editè Visual Basic ki ouvè, kopye epi kole kòd makro senp la:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Avèk Sib Si .Address(False, False) = "A1" Lè sa a, Si IsNumeric(.Value) Lè sa a, Application.EnableEvents = Fo Range("A2").Value = Range(" A2").Valè + .Valè Application.EnableEvents = Vrè Fen Si Fini Si Fini Ak Fin Sub  

Adrès selil A1 ak A2, nan kou, ka ranplase ak pwòp ou yo.

Si ou bezwen swiv done antre epi rezime pa selil endividyèl, men seri tout antye, Lè sa a, macro a pral gen yon ti kras chanje:

Private Sub Worksheet_Change(ByVal Target Kòm Excel.Range) Si pa entèsekte (Target, Range("A1:A10")) pa anyen Lè sa a, si IsNumeric (Target.Value) Lè sa a, Application.EnableEvents = Fo Target.Offset (0, 1) .Valè = Target.Offset(0, 1).Valè + Target.Value Application.EnableEvents = Vrè Fen Si Fen Si Fen Sub  

Yo sipoze done yo antre nan selil yo nan seri A1: A10, ak nimewo yo antre yo adisyone nan kolòn adjasan sou bò dwat la. Si nan ka w li pa adjasan, Lè sa a, ogmante chanjman nan adwat nan operatè a Offset - ranplase 1 ak yon nimewo ki pi gwo.

  • Ki sa ki makro, ki kote yo mete kòd macro nan VBA, ki jan yo sèvi ak yo?

Kite yon Reply