Formule Excel VBA - najboljši vodnik

Ta vadnica vas bo naučila ustvarjati celične formule z uporabo VBA.

Formule v VBA

Z uporabo VBA lahko formule zapišete neposredno v obsege ali celice v Excelu. Izgleda takole:

123456789 Pod Formula_Primer ()"Dodelite trdo kodirano formulo eni celiciRazpon ("b3"). Formula = "= b1+b2""Dodelite prilagodljivo formulo vrsti celicRazpon ("d1: d100"). Formula R1C1 = "= RC2+RC3"End Sub

Morate vedeti dve lastnosti Range:

  • .Formula - Ustvari natančno formulo (trdno kodirane sklice na celice). Dobro za dodajanje formule v eno celico.
  • .FormulaR1C1 - Ustvari prilagodljivo formulo. Dobro za dodajanje formul v vrsto celic, kjer bi se morale sklice na celice spremeniti.

Za preproste formule je dobro uporabiti lastnost .Formula. Za vse ostalo pa priporočamo uporabo Makro snemalnik

Makro snemalnik in celične formule

Makro snemalnik je naše orodje za pisanje celičnih formul z VBA. Lahko preprosto:

  • Začni snemati
  • Vnesite formulo (po potrebi z relativnimi / absolutnimi referencami) v celico in pritisnite enter
  • Ustavi snemanje
  • Odprite VBA in preglejte formulo, po potrebi se prilagodite in kopirajte+prilepite kodo, kjer je to potrebno.

Se mi zdi veliko lažje za vnos formule v celico kot za vnos ustrezne formule v VBA.

Upoštevajte nekaj stvari:

  • Makro snemalnik bo vedno uporabljal lastnost .FormulaR1C1
  • Makro snemalnik prepozna absolutne in relativne referenčne celice

Lastnost formule VBAR1C1

Lastnost FormulaR1C1 uporablja sklicevanje na celice v slogu R1C1 (v nasprotju s standardnim slogom A1, ki ste ga navajeni videti v Excelu).

Tu je nekaj primerov:

12345678910111213141516171819 Pod formula R1C1_Primeri ()„Referenca D5 (absolutno)'= $ D $ 5Razpon ("a1"). Formula R1C1 = "= R5C4"„Sklic D5 (relativno) iz celice A1'= D5Razpon ("a1"). Formula R1C1 = "= R [4] C [3]"„Sklic D5 (absolutna vrstica, relativni stolpec) iz celice A1'= 5 USDRazpon ("a1"). Formula R1C1 = "= R5C [3]"„Sklic D5 (relativna vrstica, absolutni stolpec) iz celice A1'= D5 USDRazpon ("a1"). Formula R1C1 = "= R [4] C4"End Sub

Upoštevajte, da sklicevanje na celice v slogu R1C1 omogoča nastavitev absolutnih ali relativnih referenc.

Absolutne reference

V standardnem zapisu A1 je absolutna referenca videti tako: "= $ C $ 2". V zapisu R1C1 izgleda tako: “= R2C3”.

Če želite ustvariti referenco absolutne celice z uporabo tipa R1C1:

  • R + Številka vrstice
  • C + Številka stolpca

Primer: R2C3 bi predstavljal celico $ C $ 2 (C je tretji stolpec).

123 „Referenca D5 (absolutno)'= $ D $ 5Razpon ("a1"). Formula R1C1 = "= R5C4"

Relativne reference

Relativne sklice na celice so sklice na celice, ki se "premaknejo", ko se formula premakne.

V standardnem zapisu A1 izgledajo tako: "= C2". V zapisu R1C1 uporabite oklepaje [] za odmik sklica celice od trenutne celice.

Primer: Vnos formule »= R [1] C [1]« v celico B3 bi se skliceval na celico D4 (celica 1 vrstica spodaj in 1 stolpec desno od celice formule).

Za sklicevanje na celice nad ali levo od trenutne celice uporabite negativna števila.

123 „Sklic D5 (relativno) iz celice A1'= D5Razpon ("a1"). Formula R1C1 = "= R [4] C [3]"

Mešane reference

Sklicevanje na celice je lahko delno relativno in delno absolutno. Primer:

123 „Sklic D5 (relativna vrstica, absolutni stolpec) iz celice A1'= D5 USDRazpon ("a1"). Formula R1C1 = "= R [4] C4"

Lastnost formule VBA

Pri nastavljanju formul z.Lastnost formule vedno boste uporabili zapis v slogu A1. Formulo vnesete tako, kot v Excelovo celico, razen obdani z navedki:

12 "Dodelite trdo kodirano formulo eni celiciRazpon ("b3"). Formula = "= b1+b2"

Nasveti za formulo VBA

Formula s spremenljivko

Pri delu s formulami v VBA je zelo pogosto, da želite uporabiti spremenljivke v formulah celic. Če želite uporabiti spremenljivke, uporabite & za kombiniranje spremenljivk z ostalim nizom formule. Primer:

1234567 Pod Formula_Variable ()Dim colNum As LongcolNum = 4Razpon ("a1"). Formula R1C1 = "= R1C" & colNum & "+R2C" & colNumEnd Sub

Citati formule

Če morate v formulo dodati citat (“), ga dvakrat vnesite (“ ”):

123 Podmakro 2 ()Razpon ("B3"). Formula R1C1 = "= BESEDILO (RC [-1]," "mm/dd/llll" ")"End Sub

En sam citat (“) pomeni za VBA konec niza besedila. Medtem ko se dvojni narekovaj (“”) obravnava kot narekovaj v nizu besedila.

Podobno uporabite 3 narekovaje (“” ”), da obdate niz z narekovajem (“)

12 MsgBox "" "Uporabite 3, da obdate niz z narekovaji" ""'To bo natisnilo takojšnje okno

Dodelite celično formulo spremenljivki niza

Formulo lahko preberemo v dani celici ali obsegu in jo dodelimo spremenljivki niza:

123 'Dodelite celično formulo spremenljivkiZatemni strFormula kot nizstrFormula = Obseg ("B1"). Formula

Različni načini dodajanja formul v celico

Tu je še nekaj primerov, kako celici dodeliti formulo:

  1. Neposredno dodeli formulo
  2. Določite spremenljivko niza, ki vsebuje formulo
  3. Za ustvarjanje formule uporabite spremenljivke
12345678910111213141516171819202122232425 Sub MoreFormulaExamples ()"Alternativni načini za dodajanje formule SUM'v celico B1'Zatemni strFormula kot nizZatemni celico kot obsegdim fromRow kot obseg, doRow kot obsegNastavi celico = obseg ("B1")'Neposredno dodelitev nizacell.Formula = "= SUM (A1: A10)"'Shranjevanje niza v spremenljivko'in dodelitev lastnosti "Formula"strFormula = "= SUM (A1: A10)"celica.Formula = strFormula'Uporaba spremenljivk za izdelavo niza'in jo dodeli lastnosti "Formula"fromRow = 1toRow = 10strFormula = "= SUM (A" & fromValue & ": A" & toValue & ")celica.Formula = strFormulaEnd Sub

Osveži formule

Kot opomnik lahko osvežite formule z ukazom Izračunaj:

1 Izračunaj

Če želite osvežiti eno formulo, obseg ali celoten delovni list, uporabite. Namesto tega izračunajte:

1 Listi ("List1"). Razpon ("a1: a10"). Izračunajte

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

wave wave wave wave wave