Excel VBA képletek - A végső útmutató

Ez az oktatóanyag megtanítja, hogyan hozhat létre cellaképleteket VBA használatával.

Képletek a VBA -ban

A VBA használatával képleteket írhat közvetlenül az Excel tartományokba vagy cellákba. Ez így néz ki:

123456789 Részképlet_Példa ()'Rendeljen hozzá egy kódolt képletet egyetlen celláhozTartomány ("b3"). Képlet = "= b1+b2"'Rendeljen rugalmas képletet egy sor celláhozTartomány ("d1: d100"). KépletR1C1 = "= RC2+RC3"End Sub

Két tartománytulajdonságot kell tudnia:

  • .Képlet - Pontos képletet hoz létre (kemény kódolású cellahivatkozások). Jó, ha képletet ad hozzá egyetlen cellához.
  • .FormulaR1C1 - Rugalmas formulát hoz létre. Jó, ha képleteket ad hozzá egy sor cellához, ahol a cellahivatkozásoknak meg kell változniuk.

Egyszerű képletek esetén érdemes használni a .Formula tulajdonságot. Minden máshoz azonban javasoljuk a Makró felvevő

Makró felvevő és cellaképletek

A Macro Recorder a mi eszközünk a cellás képletek írásához VBA-val. Egyszerűen:

  • Felvétel megkezdése
  • Írja be a képletet (szükség szerint relatív / abszolút hivatkozásokkal) a cellába, és nyomja meg az enter billentyűt
  • A felvétel leállítása
  • Nyissa meg a VBA -t, és tekintse át a képletet, szükség szerint kiigazítva, és szükség esetén másolja+illessze be a kódot.

Én úgy találom sokkal könnyebb képletet beírni egy cellába, mint a megfelelő képletet beírni a VBA -ba.

Vegyünk észre egy -két dolgot:

  • A makró felvevő mindig a .FormulaR1C1 tulajdonságot fogja használni
  • A makró felvevő felismeri az abszolút és a relatív cellahivatkozásokat

VBA FormulaR1C1 tulajdonság

A FormulaR1C1 tulajdonság R1C1 stílusú cellahivatkozást használ (szemben az A1-es szabványos stílussal, amelyet az Excelben szokott látni).

Íme néhány példa:

12345678910111213141516171819 RészképletR1C1_Examples ()„D5 hivatkozás (abszolút)'= $ 5 D $Tartomány ("a1"). KépletR1C1 = "= R5C4"„D5 hivatkozás (relatív) az A1 cellából'= D5Tartomány ("a1"). KépletR1C1 = "= R [4] C [3]"„D5 referencia (abszolút sor, relatív oszlop) az A1 cellából'= 5 dollárTartomány ("a1"). KépletR1C1 = "= R5C [3]"„D5 referencia (relatív sor, abszolút oszlop) az A1 cellából'= D5 USDTartomány ("a1"). KépletR1C1 = "= R [4] C4"End Sub

Vegye figyelembe, hogy az R1C1 stílusú cellahivatkozás lehetővé teszi abszolút vagy relatív hivatkozások beállítását.

Abszolút referenciák

A szabványos A1 jelölésben az abszolút hivatkozás így néz ki: „= $ C $ 2”. Az R1C1 jelölésben ez így néz ki: „= R2C3”.

Abszolút cellahivatkozás létrehozása R1C1 stílusú típus használatával:

  • R + Sor száma
  • C + Oszlopszám

Példa: Az R2C3 a $ C $ 2 cellát jelenti (C a 3. oszlop).

123 „D5 hivatkozás (abszolút)'= $ 5 D $Tartomány ("a1"). KépletR1C1 = "= R5C4"

Relatív hivatkozások

A relatív cellahivatkozások olyan cellahivatkozások, amelyek a képlet mozgatásakor „mozognak”.

A szabványos A1 jelölésben így néznek ki: „= C2”. Az R1C1 jelölésben a zárójelek [] használatával eltolja a cellahivatkozást az aktuális cellától.

Példa: A (z) „= R [1] C [1]” képlet beírása a B3 cellába a D4 cellára hivatkozik (az 1. cella alatti sor és az oszlop a képletcellától jobbra).

Negatív számokkal hivatkozzon az aktuális cella fölötti vagy bal oldali cellákra.

123 „D5 hivatkozás (relatív) az A1 cellából'= D5Tartomány ("a1"). KépletR1C1 = "= R [4] C [3]"

Vegyes irodalom

A cellahivatkozások részben relatívak és részben abszolútak lehetnek. Példa:

123 „D5 referencia (relatív sor, abszolút oszlop) az A1 cellából'= D5 USDTartomány ("a1"). KépletR1C1 = "= R [4] C4"

VBA Formula Property

Amikor képleteket állít be a.Formula Property mindig A1-es stílusú jelölést fog használni. A képletet ugyanúgy írja be, mint egy Excel cellába, kivéve idézőjelekkel:

12 'Rendeljen hozzá egy kódolt képletet egyetlen celláhozTartomány ("b3"). Képlet = "= b1+b2"

VBA Formula Tippek

Képlet változóval

Amikor a VBA képleteivel dolgozik, nagyon gyakori, hogy változókat akar használni a cellaképleteken belül. A változók használatához a & billentyűvel kombinálja a változókat a képlet karakterláncának többi részével. Példa:

1234567 Részképlet_változó ()Dim colNum As LongcolNum = 4Tartomány ("a1"). KépletR1C1 = "= R1C" & colNum & "+R2C" & colNumEnd Sub

Képlet Idézetek

Ha idézetet („) kell hozzáadnia a képlethez, írja be kétszer az idézetet („ ”):

123 Makro2 ()Tartomány ("B3"). KépletR1C1 = "= TEXT (RC [-1]," "mm/dd/yyyy" ")"End Sub

Egyetlen idézet („) a VBA számára egy szövegsor végét jelenti. Míg a kettős idézőjelet („”) idézőjelként kezeljük a szövegben.

Hasonlóképpen használjon 3 idézőjelet („” ”), hogy a karakterláncot idézőjelekkel („) vegye körül

12 MsgBox "" "Használja a 3 billentyűt a karakterlánc körbeírásához idézőjelekkel" ""'Ez azonnali ablakot nyomtat

Cellaképlet hozzárendelése a karakterlánc -változóhoz

Kiolvashatjuk a képletet egy adott cellában vagy tartományban, és hozzárendelhetjük egy karakterlánc -változóhoz:

123 'Cellaképlet hozzárendelése a változóhozA strFormula halványítása karakterlánckéntstrFormula = Tartomány ("B1"). Képlet

Különböző módszerek képletek hozzáadására a cellához

Íme még néhány példa arra, hogyan lehet képletet rendelni egy cellához:

  1. Képlet közvetlen hozzárendelése
  2. Határozza meg a képletet tartalmazó karakterlánc -változót
  3. Használja a változókat a képlet létrehozásához
12345678910111213141516171819202122232425 Sub MoreFormulaEpamples ()'Alternatív módok a SUM képlet hozzáadására'a B1 cellába'A strFormula halványítása karakterlánckéntA cella halványítása tartománykéntdim fromRow as Range, toRow as RangeCella beállítása = tartomány ("B1")'String közvetlen hozzárendelésecell.Formula = "= SUM (A1: A10)"'Karakterlánc tárolása változóba"és hozzárendelés a" Formula "tulajdonsághozstrFormula = "= SUM (A1: A10)"cell.Formula = strFormula'Változók használata karakterlánc készítéséhez'és hozzárendelése a "Formula" tulajdonsághozfromRow = 1toRow = 10strFormula = "= SUM (A" & fromValue & ": A" & toValue & ")cell.Formula = strFormulaEnd Sub

Képletek frissítése

Emlékeztetőül, a képletek frissítéséhez használhatja a Calculate parancsot:

1 Kiszámítja

Egyetlen képlet, tartomány vagy teljes munkalap frissítéséhez használja. Ehelyett számítsa ki:

1 Táblázatok ("Sheet1"). Tartomány ("a1: a10"). Számítsa ki

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave