VBA Sum -toiminto (alueet, sarakkeet ja paljon muuta)

Tämä opetusohjelma näyttää, kuinka käytät Excel Sum -toimintoa VBA: ssa

Summafunktio on yksi yleisimmin käytetyistä Excel -funktioista ja luultavasti ensimmäinen, jota Excel -käyttäjät oppivat käyttämään. VBA: lla ei oikeastaan ​​ole vastaavaa - käyttäjän on käytettävä VBA: n sisäänrakennettua Excel -toimintoa käyttämällä WorkSheetFunction esine.

Sum -laskentataulukkoToiminto

WorksheetFunction -objektia voidaan käyttää useimpien Excel -toimintojen kutsumiseen, jotka ovat käytettävissä Excelin Lisää toiminto -valintaikkunassa. SUM -toiminto on yksi niistä.

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

SUMMA -funktiossa voi olla enintään 30 argumenttia. Jokainen argumentti voi viitata myös solualueeseen.

Tämä alla oleva esimerkki lisää solut D1 - D9

123 Alatestisumma ()Alue ("D10") = Application.WorksheetFunction.SUM ("D1: D9")End Sub

Alla oleva esimerkki lisää alueen sarakkeeseen D ja alueen sarakkeeseen F. Jos et kirjoita sovellusobjektia, se oletetaan.

123 Alatestisumma ()Alue ("D25") = WorksheetFunction.SUM (Alue ("D1: D24"), alue ("F1: F24"))End Sub

Huomaa yksittäiselle solualueelle, että sinun ei tarvitse määrittää sanaa "Range" solujen edessä olevassa kaavassa, se oletetaan koodilla. Jos kuitenkin käytät useita argumentteja, sinun on tehtävä se.

Summatuloksen määrittäminen muuttujaan

Voit halutessasi käyttää kaavan tulosta muualla koodissa sen sijaan, että kirjoitat sen suoraan takaisin Excel -alueelle. Jos näin on, voit määrittää tuloksen muuttujalle käytettäväksi myöhemmin koodissasi.

1234567 Sub AssignSumVariable ()Himmennä tulos tuplana'Määritä muuttujaresult = WorksheetFunction.SUM (Alue ("G2: G7"), alue ("H2: H7"))'Näytä tulosMsgBox "Alueiden kokonaismäärä on" & tulosEnd Sub

Summaa alueobjekti

Voit määrittää Range -objektille soluryhmän ja käyttää sitten Range -objektia LaskentataulukkoToiminto esine.

123456789 AlatestiSumRange ()Dim rng as Range'määritä solualueAseta rng = alue ("D2: E10")'käytä kaavaaAlue ("E11") = Työsivun toiminto.SUMMA (rng)'vapauta etäisyysobjektiAseta rng = ei mitäänEnd Sub

Summaa useita alueita

Samoin voit laskea yhteen useita alueobjekteja.

123456789101112 AlatestiSumMultipleRanges ()Dim rngA As RangeDim rngB kuin alue'määritä solualueAseta rngA = alue ("D2: D10")Aseta rngB = alue ("E2: E10")'käytä kaavaaAlue ("E11") = Työsivun toiminto.SUMMA (rngA, rngB)'vapauta etäisyysobjektiAseta rngA = ei mitäänAseta rngB = ei mitäänEnd Sub

Summaa koko sarake tai rivi

Voit myös käyttää Sum -toimintoa lisätäksesi koko sarakkeen tai koko rivin

Tämä alla oleva menettely lisää kaikki sarakkeen D numeeriset solut.

123 Alatestisumma ()Alue ("F1") = WorksheetFunction.SUM (Alue ("D: D")End Sub

Vaikka tämä alla oleva menettely lisää kaikki rivin 9 numerosolut.

123 Alatestisumma ()Alue ("F2") = WorksheetFunction.SUM (Alue ("9: 9")End Sub

Summa Array

Voit lisätä taulukon arvoja myös käyttämällä WorksheetFunction.Sum -arvoa.

123456789101112 Sub TestArray ()Dim intA (1 - 5) kokonaislukunaDim SumArray kokonaislukuna'täytä taulukkointA (1) = 15intA (2) = 20intA (3) = 25intA (4) = 30intA (5) = 40'lisää taulukko ja näytä tulosMsgBox WorksheetFunction.SUM (intA)End Sub

SumIf -toiminnon käyttäminen

Toinen laskentataulukkotoiminto, jota voidaan käyttää, on SUMIF -toiminto.

123 AlatestiSumIf ()Alue ("D11") = WorksheetFunction.SUMIF (Alue ("C2: C10"), 150, Alue ("D2: D10"))End Sub

Yllä oleva menettely laskee alueen (D2: D10) solut yhteen vain, jos vastaava sarake C = 150.

Summakaava

Kun käytät LaskentataulukkoToiminto.SUMMA summan lisäämiseksi laskentataulukon alueeseen palautetaan staattinen summa, ei joustava kaava. Tämä tarkoittaa sitä, että kun Excelin luvut muuttuvat, arvo on palauttanut LaskentataulukkoToiminto ei muutu.

Yllä olevassa esimerkissä TestSum -menettely on lisännyt alueen (D2: D10) ja tulos on lisätty arvoon D11. Kuten kaavapalkista näet, tämä tulos on luku eikä kaava.

Jos jokin arvo muuttuu siksi alueella (D2: D10), tulos kohdassa D11 muuttuu EI muuttaa.

Käyttämisen sijasta LaskentataulukkoToiminto.SUMMA, voit käyttää VBA: ta summatoiminnon käyttämiseen solussa käyttämällä Kaava tai KaavaR1C1 menetelmiä.

Kaavan menetelmä

Kaavamenetelmän avulla voit osoittaa erityisesti solualueelle, esimerkiksi: D2: D10, kuten alla on esitetty.

123 AlatestiSumFormulaAlue ("D11"). Kaava = "= SUMMA (D2: D10)"End Sub

FormulaR1C1 -menetelmä

FromulaR1C1 -menetelmä on joustavampi, koska se ei rajoita sinua tiettyyn solualueeseen. Alla oleva esimerkki antaa meille saman vastauksen kuin yllä oleva.

123 AlatestiSumFormula ()Alue ("D11"). KaavaR1C1 = "= SUMMA (R [-9] C: R [-1] C)"End Sub

Kaavan joustavuuden parantamiseksi voisimme kuitenkin muuttaa koodia tältä:

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

Missä tahansa olet laskentataulukossasi, kaava lisää sitten 8 solua suoraan sen yläpuolelle ja sijoittaa vastauksen ActiveCellisi. SUM -toiminnon sisällä olevaan alueeseen on viitattava rivin (R) ja sarakkeen (C) syntaksilla.

Molempien näiden menetelmien avulla voit käyttää dynaamisia Excel -kaavoja VBA: ssa.

D11: ssä on nyt kaava arvon sijaan.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave