Exceli VBA valemid - ülim juhend

See õpetus õpetab teile, kuidas luua VBA abil lahtrivalemeid.

Valemid VBA -s

VBA abil saate Exceli valemid kirjutada otse vahemikku või lahtrisse. See näeb välja selline:

123456789 Alamvalem_näide ()'Määrake kindlale lahtrile valem, mis on kodeeritudVahemik ("b3"). Valem = "= b1+b2""Määrake lahtrivahemikule paindlik valemVahemik ("d1: d100"). ValemR1C1 = "= RC2+RC3"End Sub

Vahemiku omadusi, mida peate teadma, on kaks:

  • .Vormel - loob täpse valemi (kõvakodeeritud lahtriviited). Hea valemi lisamiseks ühele lahtrile.
  • .Vormel R1C1 - loob paindliku valemi. Sobib valemite lisamiseks lahtrite vahemikku, kus lahtriviited peaksid muutuma.

Lihtsate valemite puhul on hea kasutada atribuuti .Formula. Kõige muu puhul soovitame siiski kasutada Makrosalvesti

Makrosalvesti ja lahtrivalemid

Makrosalvesti on meie tööriist tööriistade valemite kirjutamiseks VBA abil. Saate lihtsalt:

  • Alusta salvestamist
  • Sisestage lahtrisse valem (vajadusel suhtelise / absoluutse viitega) ja vajutage sisestusklahvi
  • Lõpetage salvestamine
  • Avage VBA ja vaadake valem üle, kohandades vastavalt vajadusele ja kopeerides+kleepides koodi sinna, kuhu vaja.

Ma leian, et on palju lihtsam valemi lahtrisse sisestamiseks kui vastava valemi sisestamiseks VBA -sse.

Pange tähele paari asja:

  • Makrosalvesti kasutab alati atribuuti .FormulaR1C1
  • Makrosalvesti tunneb ära absoluutsed ja suhtelised lahtriviited

VBA FormulaR1C1 atribuut

Atribuut FormulaR1C1 kasutab lahtrite viitamist R1C1-stiilis (erinevalt tavalisest A1-stiilist, mida olete Excelis harjunud nägema).

siin on mõned näidised:

12345678910111213141516171819 Alamvalem R1C1_Examples ()'Viide D5 (absoluutne)'= 5 D $ dollaritVahemik ("a1"). ValemR1C1 = "= R5C4"„Viide D5 (suhteline) lahtrist A1'= D5Vahemik ("a1"). ValemR1C1 = "= R [4] C [3]"„Viide D5 (absoluutne rida, suhteline veerg) lahtrist A1'= 5 dollaritVahemik ("a1"). ValemR1C1 = "= R5C [3]"„Viide D5 (suhteline rida, absoluutne veerg) lahtrist A1'= D5 dollaritVahemik ("a1"). ValemR1C1 = "= R [4] C4"End Sub

Pange tähele, et R1C1-stiilis lahtriviide võimaldab teil määrata absoluutsed või suhtelised viited.

Absoluutsed viited

Tavalises A1 märgistuses näeb absoluutne viide välja selline: "= $ C $ 2". Märgistuses R1C1 näeb see välja selline: “= R2C3”.

Absoluutse lahtri viite loomiseks, kasutades R1C1-tüüpi tüüpi:

  • R + rea number
  • C + veeru number

Näide: R2C3 tähistab lahtrit $ C $ 2 (C on kolmas veerg).

123 'Viide D5 (absoluutne)'= 5 D $ dollaritVahemik ("a1"). ValemR1C1 = "= R5C4"

Suhtelised viited

Suhtelised lahtriviited on lahtriviited, mis “liiguvad” valemi liigutamisel.

Tavalises A1 märgistuses näevad need välja sellised: “= C2”. Märkimisel R1C1 kasutate sulgusid [], et nihutada lahtri viide praegusest lahtrist.

Näide: valemi „= R [1] C [1]” sisestamine lahtrisse B3 viitaks lahtrile D4 (lahter 1 rida allpool ja 1 veerg valemilahtrist paremal).

Kasutage negatiivseid numbreid lahtrite viitamiseks praegusest lahtrist ülal või vasakul.

123 „Viide D5 (suhteline) lahtrist A1'= D5Vahemik ("a1"). ValemR1C1 = "= R [4] C [3]"

Segatud viited

Lahtrite viited võivad olla osaliselt suhtelised ja osaliselt absoluutsed. Näide:

123 „Viide D5 (suhteline rida, absoluutne veerg) lahtrist A1'= D5 dollaritVahemik ("a1"). ValemR1C1 = "= R [4] C4"

VBA valemivara

Valemite määramisel klahviga.Valemi vara kasutate alati A1-stiilis märkeid. Sisestage valem täpselt nagu Exceli lahtrisse, välja arvatud tsitaadid:

12 'Määrake kindlale lahtrile valem, mis on kodeeritudVahemik ("b3"). Valem = "= b1+b2"

VBA valemi näpunäited

Valem muutujaga

VBA -s valemitega töötades on väga levinud soov kasutada lahtrivalemites muutujaid. Muutujate kasutamiseks kasutage &, et kombineerida muutujad ülejäänud valemitringiga. Näide:

1234567 Alamvalem_muutuja ()Pimendav veerg nii kauakolonn = 4Vahemik ("a1"). ValemR1C1 = "= R1C" & colNum & "+R2C" & colNumEnd Sub

Vormeli tsitaadid

Kui peate valemisse lisama hinnapakkumise (“), sisestage tsitaat kaks korda (“ ”):

123 Alammakro2 ()Vahemik ("B3"). ValemR1C1 = "= TEKST (RC [-1]," "mm/pp/aaaa" ")"End Sub

Üks tsitaat (“) tähistab VBA -le tekstistringi lõppu. Kahekordset tsitaati („”) käsitletakse tekstistringis tsitaadina.

Sarnaselt kasutage 3 jutumärki (“” ”), et ümbritseda string jutumärgiga (“)

12 MsgBox "" "Kasutage 3, et ümbritseda string jutumärkidega" ""'See prindib kohe akna

Määrake lahtrivalem stringimuutujale

Me saame antud valemit antud lahtris või vahemikus lugeda ja määrata stringimuutujale:

123 'Määrake lahtrile valem muutujaleHämardage strFormula stringinastrFormula = Vahemik ("B1"). Valem

Lahtrile valemite lisamise erinevad viisid

Siin on veel mõned näited valemi lahtrile määramiseks:

  1. Valemi otsene määramine
  2. Määratlege valemit sisaldav stringimuutuja
  3. Valemi loomiseks kasutage muutujaid
12345678910111213141516171819202122232425 Alam MoreVormelNäited ()'SUM valemi lisamise alternatiivsed viisid'lahtrisse B1'Hämardage strFormula stringinaHämardage lahter vahemikunadim fromRow as Range, toRow as RangeMäära lahter = vahemik ("B1")'Stringi otsene määraminecell.Formula = "= SUM (A1: A10)"'Stringi salvestamine muutujale'ja varale "Valem" määraminestrFormula = "= SUM (A1: A10)"rakk.Vormel = strFormula'Muutujate kasutamine stringi loomiseks"ja määrates selle atribuudile" Vormel "fromRow = 1rida = 10strFormula = "= SUM (A" & fromValue & ": A" & toValue & ")rakk.Vormel = strFormulaEnd Sub

Valemite värskendamine

Tuletame meelde, et valemite värskendamiseks võite kasutada käsku Arvuta:

1 Arvutama

Üksiku valemi, vahemiku või kogu töölehe värskendamiseks kasutage. Arvutage selle asemel:

1 Arvutustabelid ("leht 1"). Vahemik ("a1: a10"). Arvutage

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave