Šī 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:
- Tieši piešķirt formulu
- Definējiet virknes mainīgo, kas satur formulu
- 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 |