Excel VBA formulas - galīgais ceļvedis

Šī apmācība iemācīs jums izveidot šūnu formulas, izmantojot VBA.

Formulas VBA

Izmantojot VBA, jūs varat rakstīt formulas tieši diapazonos vai šūnās programmā Excel. Tas izskatās šādi:

123456789 Apakšformula_Piemērs ()'Piešķiriet kodētu formulu vienai šūnaiDiapazons ("b3"). Formula = "= b1+b2"“Piešķiriet elastīgu formulu šūnu diapazonamDiapazons ("d1: d100"). FormulaR1C1 = "= RC2+RC3"Beigu apakš

Jums ir jāzina divi diapazona rekvizīti:

  • .Formula - Izveido precīzu formulu (grūti kodētas šūnu atsauces). Piemērots formulas pievienošanai vienai šūnai.
  • . FormulaR1C1 - Izveido elastīgu formulu. Piemērots, lai pievienotu formulas šūnu diapazonam, kur jāmaina šūnu atsauces.

Vienkāršām formulām ir labi izmantot .Formula rekvizītu. Tomēr visam pārējam mēs iesakām izmantot Makro ierakstītājs

Makro ierakstītājs un šūnu formulas

Makro ierakstītājs ir mūsu galvenais rīks šūnu formulu rakstīšanai ar VBA. Jūs varat vienkārši:

  • Sāciet ierakstīšanu
  • Šūnā ierakstiet formulu (ar relatīvām / absolūtām atsaucēm) un nospiediet taustiņu Enter
  • Pārtraukt ierakstīšanu
  • Atveriet VBA un pārskatiet formulu, pielāgojot pēc vajadzības un nokopējot+ielīmējot kodu, kur nepieciešams.

Es uzskatu, ka ir daudz vieglāk ievadīt šūnā formulu, nevis ierakstīt atbilstošo formulu VBA.

Ievērojiet pāris lietas:

  • Makro ierakstītājs vienmēr izmantos rekvizītu .FormulaR1C1
  • Makro ierakstītājs atpazīst absolūtās un relatīvās šūnu atsauces

VBA FormulaR1C1 Īpašums

Rekvizīts FormulaR1C1 izmanto šūnu atsauci R1C1 stilā (pretstatā standarta A1 stilam, ko esat pieradis redzēt programmā Excel).

Šeit ir daži piemēri:

12345678910111213141516171819 ApakšformulaR1C1_Examples ()“Atsauce D5 (absolūti)'= 5 USDDiapazons ("a1"). FormulaR1C1 = "= R5C4"“Atsauce D5 (relatīvā) no šūnas A1'= D5Diapazons ("a1"). FormulaR1C1 = "= R [4] C [3]"“Atsauce D5 (absolūtā rinda, relatīvā kolonna) no šūnas A1'= 5 USDDiapazons ("a1"). FormulaR1C1 = "= R5C [3]"“Atsauce D5 (relatīvā rinda, absolūtā kolonna) no šūnas A1'= D5 USDDiapazons ("a1"). FormulaR1C1 = "= R [4] C4"Beigu apakš

Ņemiet vērā, ka šūnu atsauce R1C1 stilā ļauj iestatīt absolūtas vai relatīvas atsauces.

Absolūtās atsauces

Standarta A1 apzīmējumā absolūta atsauce izskatās šādi: “= $ C $ 2”. Apzīmējumā R1C1 tas izskatās šādi: “= R2C3”.

Lai izveidotu absolūtu šūnu atsauci, izmantojot R1C1 stila veidu:

  • R + Rindas numurs
  • C + kolonnas numurs

Piemērs: R2C3 apzīmē šūnu $ C $ 2 (C ir 3. sleja).

123 “Atsauce D5 (absolūti)'= 5 USDDiapazons ("a1"). FormulaR1C1 = "= R5C4"

Relatīvās atsauces

Relatīvās šūnu atsauces ir šūnu atsauces, kas “pārvietojas”, kad formula tiek pārvietota.

Standarta A1 apzīmējumā tie izskatās šādi: “= C2”. R1C1 apzīmējumā jūs izmantojat iekavas [], lai nobīdītu šūnas atsauci no pašreizējās šūnas.

Piemērs. Formulas “= R [1] C [1]” ievadīšana šūnā B3 atsaucas uz šūnu D4 (šūna 1 rinda zemāk un 1 kolonna pa labi no formulas šūnas).

Izmantojiet negatīvus skaitļus, lai atsauktos uz šūnām virs vai pa kreisi no pašreizējās šūnas.

123 “Atsauce D5 (relatīvā) no šūnas A1'= D5Diapazons ("a1"). FormulaR1C1 = "= R [4] C [3]"

Jauktas atsauces

Šūnu atsauces var būt daļēji relatīvas un daļēji absolūtas. Piemērs:

123 “Atsauce D5 (relatīvā rinda, absolūtā kolonna) no šūnas A1'= D5 USDDiapazons ("a1"). FormulaR1C1 = "= R [4] C4"

VBA formulas īpašums

Iestatot formulas ar.Formulas īpašums jūs vienmēr izmantosiet A1 stila apzīmējumus. Formulu ievadāt tāpat kā Excel šūnā, izņemot citātus:

12 'Piešķiriet kodētu formulu vienai šūnaiDiapazons ("b3"). Formula = "= b1+b2"

VBA formulas padomi

Formula ar mainīgo

Strādājot ar formulām VBA, ir ļoti bieži vēlme šūnu mainīgajos izmantot mainīgos. Lai izmantotu mainīgos, izmantojiet &, lai apvienotu mainīgos ar pārējo formulas virkni. Piemērs:

1234567 Apakšformula_variabāls ()Dim colNum As Longkolonna = 4Diapazons ("a1"). FormulaR1C1 = "= R1C" & colNum & "+R2C" & colNumBeigu apakš

Formulu citāti

Ja formulai jāpievieno citāts (“), divreiz ievadiet citātu (“ ”):

123 Papildu makro2 ()Diapazons ("B3"). FormulaR1C1 = "= TEKSTS (RC [-1]," "mm/dd/gggg" ")"Beigu apakš

Viens citāts (“) VBA nozīmē teksta virknes beigas. Tā kā citāts (“”) tiek uzskatīts par citātu teksta virknē.

Līdzīgi izmantojiet 3 pēdiņas (“” ”), lai apvilktu virkni ar pēdiņu (“)

12 MsgBox "" "Izmantojiet 3, lai apņemtu virkni ar pēdiņām" ""'Tas izdrukās tūlītēju logu

Piešķirt šūnu formulu virknes mainīgajam

Mēs varam lasīt formulu noteiktā šūnā vai diapazonā un piešķirt to virknes mainīgajam:

123 "Piešķirt šūnu formulu mainīgajamDim strFormula kā virknestrFormula = Diapazons ("B1"). Formula

Dažādi veidi, kā šūnai pievienot formulas

Šeit ir vēl daži piemēri, kā šūnai piešķirt formulu:

  1. Tieši piešķirt formulu
  2. Definējiet virknes mainīgo, kas satur formulu
  3. Izmantojiet mainīgos, lai izveidotu formulu
12345678910111213141516171819202122232425 Sub MoreFormulaExamples ()'Alternatīvi veidi, kā pievienot SUM formulu"uz šūnu B1'Dim strFormula kā virkneAptumšojiet šūnu kā diapazonuaptumšot no rindas kā diapazons, līdz rindai kā diapazonsIestatīt šūnu = diapazons ("B1")“Tieša virknes piešķiršanacell.Formula = "= SUM (A1: A10)"'Virknes saglabāšana mainīgajā"un piešķirot īpašumam" Formula "strFormula = "= SUMMA (A1: A10)"šūna. Formula = strFormula'Mainīgo izmantošana virknes veidošanai"un piešķirot to īpašumam" Formula "fromRow = 1toRow = 10strFormula = "= SUM (A" & fromValue & ": A" & toValue & ")šūna. Formula = strFormulaBeigu apakš

Atsvaidzināt formulas

Atgādinām, ka, lai atsvaidzinātu formulas, varat izmantot komandu Aprēķināt:

1 Aprēķināt

Lai atsvaidzinātu vienu formulu, diapazonu vai visu darblapu, izmantojiet. Tā vietā aprēķiniet:

1 Izklājlapas ("Sheet1"). Diapazons ("a1: a10"). Aprēķināt

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave