VBA funkcija vsote (razponi, stolpci in drugo)

Ta vadnica vam bo pokazala, kako uporabljati funkcijo Excel Sum v VBA

Funkcija vsote je ena najpogosteje uporabljenih Excelovih funkcij in verjetno prva, ki jo uporabniki Excela naučijo uporabljati. VBA dejansko nima enakovrednega - uporabnik mora uporabiti vgrajeno funkcijo Excel v VBA z uporabo Funkcija delovnega lista predmet.

Funkcija vsote delovnega lista

Objekt WorksheetFunction lahko uporabite za klic večine Excelovih funkcij, ki so na voljo v pogovornem oknu Vstavi funkcijo v Excelu. Ena izmed njih je funkcija SUM.

123 Sub TestFunctionObseg ("D33") = Application.WorksheetFunction.Sum ("D1: D32")End Sub

V funkciji SUM imate lahko do 30 argumentov. Vsak od argumentov se lahko nanaša tudi na vrsto celic.

Ta spodnji primer bo sešteval celice D1 do D9

123 Sub TestSum ()Obseg ("D10") = Application.WorksheetFunction.SUM ("D1: D9")End Sub

Spodnji primer bo sešteval obseg v stolpcu D in obseg v stolpcu F. Če ne vnesete predmeta aplikacije, bo predpostavljeno.

123 Sub TestSum ()Obseg ("D25") = Funkcija delovnega lista.SUM (Razpon ("D1: D24"), Obseg ("F1: F24"))End Sub

Opomba: za en sam obseg celic vam ni treba v formuli pred celicami navesti besede »Obseg«, to predvideva koda. Če pa uporabljate več argumentov, morate to storiti.

Dodelitev rezultata vsote spremenljivki

Rezultat svoje formule boste morda želeli uporabiti drugje v kodi, namesto da bi ga zapisali neposredno nazaj in v obseg Excel. V tem primeru lahko rezultat dodelite spremenljivki, ki jo boste uporabili pozneje v kodi.

1234567 Sub AssignSumVariable ()Zatemni rezultat kot dvojno'Dodelite spremenljivkoresult = WorksheetFunction.SUM (obseg ("G2: G7"), obseg ("H2: H7"))'Pokaži rezultatMsgBox "Skupni obseg je" & rezultatEnd Sub

Vsota predmeta obsega

Objektu Range lahko dodelite skupino celic, nato pa ta predmet Range uporabite z Funkcija delovnega lista predmet.

123456789 Sub TestSumRange ()Dim rng As Range'dodelite obseg celicNastavi rng = območje ("D2: E10")"uporabite obseg v formuliObseg ("E11") = Funkcija delovnega lista.SUM (rng)'spustite predmet obsegaNastavi rng = NičEnd Sub

Vsota več objektov obsega

Podobno lahko seštejete več objektov obsega.

123456789101112 Sub TestSumMultipleRanges ()Dim rngA As RangeZatemni rngB kot obseg'dodelite obseg celicNastavite rngA = območje ("D2: D10")Nastavi rngB = Razpon ("E2: E10")"uporabite obseg v formuliObseg ("E11") = Funkcija delovnega lista.SUM (rngA, rngB)'spustite predmet obsegaNastavi rngA = NičNastavi rngB = NičEnd Sub

Vsota celotnega stolpca ali vrstice

S funkcijo Sum lahko seštejete celoten stolpec ali celo vrstico

Ta spodnji postopek bo sešteval vse številske celice v stolpcu D.

123 Sub TestSum ()Obseg ("F1") = Funkcija delovnega lista.SUM (Razpon ("D: D")End Sub

Medtem ko ta spodnji postopek sešteje vse številske celice v 9. vrstici.

123 Sub TestSum ()Obseg ("F2") = Funkcija delovnega lista.SUM (Razpon ("9: 9")End Sub

Seštejte niz

Za seštevanje vrednosti v matriki lahko uporabite tudi WorksheetFunction.Sum.

123456789101112 Sub TestArray ()Zatemni intA (1 do 5) kot celo številoDim SumArray kot celo število'napolni matrikointA (1) = 15intA (2) = 20intA (3) = 25intA (4) = 30intA (5) = 40"seštejte matriko in pokažite rezultatMsgBox WorksheetFunction.SUM (intA)End Sub

Uporaba funkcije SumIf

Druga funkcija delovnega lista, ki jo lahko uporabite, je funkcija SUMIF.

123 Sub TestSumIf ()Obseg ("D11") = Funkcija delovnega lista.SUMIF (Razpon ("C2: C10"), 150, Razpon ("D2: D10"))End Sub

Zgornji postopek bo sešteval celice v območju (D2: D10) le, če je ustrezna celica v stolpcu C = 150.

Formula vsote

Ko uporabljate Delovni listFunction.SUM če želite vnos na svoj delovni list dodati vsoto, se vrne statična vsota, ne prilagodljiva formula. To pomeni, da ko se vaše številke v Excelu spremenijo, vrednost, ki jo je vrnil Funkcija delovnega lista se ne bo spremenilo.

V zgornjem primeru je postopek TestSum dodal obseg (D2: D10) in rezultat je bil zapisan v D11. Kot lahko vidite v vrstici s formulami, je ta rezultat številka in ne formula.

Če se torej katera koli vrednost spremeni v območju (D2: D10), bo rezultat v D11 NE spremeniti.

Namesto da uporabite Delovni listFunction.SUM, lahko z VBA uporabite funkcijo vsote za celico z uporabo Formula ali Formula R1C1 metode.

Metoda formule

Metoda formule vam omogoča, da posebej pokažete na vrsto celic, na primer: D2: D10, kot je prikazano spodaj.

123 Sub TestSumFormulaRazpon ("D11"). Formula = "= SUM (D2: D10)"End Sub

FormulaR1C1 Metoda

Metoda FromulaR1C1 je bolj prilagodljiva, saj vas ne omejuje na določeno območje celic. Spodnji primer nam bo dal enak odgovor kot zgornji.

123 Sub TestSumFormula ()Razpon ("D11"). Formula R1C1 = "= SUM (R [-9] C: R [-1] C)"End Sub

Da pa bi bila formula bolj prilagodljiva, bi lahko kodo spremenili takole:

123 Sub TestSumFormula ()ActiveCell.FormulaR1C1 = "= SUM (R [-9] C: R [-1] C)"End Sub

Kjer koli ste na svojem delovnem listu, bo formula nato sestavila 8 celic neposredno nad njim in odgovor postavila v vašo ActiveCell. Na obseg znotraj funkcije SUM se je treba sklicevati s sintakso vrstice (R) in stolpca (C).

Obe metodi vam omogočata uporabo formul Dynamic Excel v VBA.

Namesto vrednosti bo zdaj v D11 formula.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave