תא מצטבר (מצטבר)

תוכן

לעתים קרובות, נוצר מצב שבו אנו צריכים לסכם (לצבור) מספר ערכים שהוכנסו ברצף לתא אחד:

הָהֵן. אם, למשל, תזין את המספר 1 בתא A5, אז המספר 1 אמור להופיע ב-B15. אם לאחר מכן תזין את המספר 1 ב-A7, אז 1 אמור להופיע בתא B22, וכן הלאה. באופן כללי, מה שרואי חשבון (ולא רק הם) מכנים סך מצטבר.

אתה יכול ליישם מצבר תא אחסון כזה באמצעות מאקרו פשוט. לחץ לחיצה ימנית על לשונית הגיליון שבה ממוקמים התאים A1 ו-B1 ובחר מתפריט ההקשר טקסט מקור (קוד מקור). בחלון עורך Visual Basic שנפתח, העתק והדבק את קוד המאקרו הפשוט:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) עם 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, כמובן, ניתן להחליף בכתובת שלך.

אם אתה צריך לעקוב אחר הזנת נתונים ולסכם לא תאים בודדים, אלא טווחים שלמים, יהיה צורך לשנות מעט את המאקרו:

Private Sub Worksheet_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, והמספרים שהוזנו מסוכמים בעמודה הסמוכה מימין. אם במקרה שלך זה לא צמוד, אז הגדל את ההסטה ימינה באופרטור Offset - החלף 1 במספר גדול יותר.

  • מהן פקודות מאקרו, היכן להכניס קוד מאקרו ב-VBA, כיצד להשתמש בהן?

השאירו תגובה