Uppsöfnuð fruma (uppsöfnuð)

Efnisyfirlit

Oft kemur upp sú staða þegar við þurfum að taka saman (safna) nokkrum gildum sem eru færð í röð inn í eina reit:

Þeir. ef þú slærð til dæmis inn töluna 1 í reit A5, þá ætti talan 1 að birtast í B15. Ef þú slærð síðan inn töluna 1 í A7, þá ætti 1 að birtast í reit B22, og svo framvegis. Almennt, það sem endurskoðendur (en ekki aðeins þeir) kalla uppsafnaða heildartölu.

Þú getur útfært slíkan geymslufrumusafn með einföldum fjölvi. Hægrismelltu á blaðflipann þar sem frumur A1 og B1 eru staðsettar og veldu úr samhengisvalmyndinni Upprunatexti (Frumkóði). Í Visual Basic ritstjóraglugganum sem opnast, afritaðu og límdu einfalda makrókóðann:

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  

Heimilisföng hólfa A1 og A2, auðvitað, er hægt að skipta út fyrir þitt eigið.

Ef þú þarft að fylgjast með gagnafærslu og draga saman ekki einstakar frumur, heldur heil svið, þá verður að breyta fjölvi aðeins:

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  

Gert er ráð fyrir að gögn séu færð inn í reiti á bilinu A1:A10 og innsláttar tölur eru teknar saman í aðliggjandi dálki til hægri. Ef í þínu tilviki er það ekki aðliggjandi, þá skaltu auka vaktina til hægri í Offset operator - skiptu 1 út fyrir stærri tölu.

  • Hvað eru fjölvi, hvar á að setja inn stórkóða í VBA, hvernig á að nota þá?

Skildu eftir skilaboð