/ / Excel VBA alkalmazásobjektum

Excel VBA alkalmazásobjektum

WorksheetFunction | ScreenUpdating | DisplayAlerts | Számítás

Az összes objektum anyja maga az Excel. Ezt nevezzük Alkalmazásobjektum. Az alkalmazásobjektum hozzáférést biztosít számos Excel-hez kapcsolódó opcióhoz.

WorksheetFunction

A WorksheetFunction tulajdonságot használhatja Excel VBA az Excel funkciók eléréséhez.

1. Helyezzen például egy parancsgombot a munkalapon, és adja hozzá a következő kódsor:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

Amikor a munkalapon található parancsgombra kattint, az Excel VBA kiszámolja az A1 és az A2 cellában lévő értékek átlagát, és az eredményt az A3 cellába helyezi.

Munkafüzet Excel VBA-ban

Megjegyzés: az Application.WorksheetFunction helyett.Átlag, egyszerűen használja a WorksheetFunction.Average értéket. Ha megnézed a képletsávot, láthatod, hogy a képlet önmagában nincs beágyazva az A3 cellába. A formula önmagában az A3 cellába történő beillesztéséhez használja a következő kódsorozatot:

Range("A3").Value = "=AVERAGE(A1:A2)"

ScreenUpdating

Néha hasznosnak találhatja a képernyő frissítését (a villogás elkerülése érdekében) a kód végrehajtása közben. Ennek eredményeképpen a kód gyorsabban fut.

1. Helyezzen például egy parancsgombot a munkalapon, és adja hozzá a következő kódsorokat:

Dim i As Integer

For i = 1 To 10000
    Range("A1").Value = i
Next i

Amikor a munkalapon található parancsgombra kattint, az Excel VBA minden egyes értéket egy másodperc apró töredékével jelenít meg, és ez eltarthat egy ideig.

ScreenUpdating

2. A folyamat gyorsítása érdekében frissítse a kódot az alábbiak szerint.

Dim i As Integer

Application.ScreenUpdating = False

For i = 1 To 10000
    Range("A1").Value = i
Next i

Application.ScreenUpdating = True

Ennek eredményeképpen a kód sokkal gyorsabban fut, és csak a végeredményt (10000) fogja látni.

DisplayAlerts

Az Excel VBA arra utasíthatja, hogy a kód végrehajtása közben ne jelenjenek meg figyelmeztetések.

1. Helyezzen például egy parancsgombot a munkalapon, és adja hozzá a következő kódsor:

ActiveWorkbook.Close

A munkalapon található parancs gombra kattintva az Excel VBA bezárja az Excel fájlt, és kéri, hogy mentse az elvégzett módosításokat.

DisplayAlerts

2. Ha arra utasítja az Excel VBA-t, hogy ne jelenítse meg ezt a figyelmeztetést a kód végrehajtása közben, frissítse a kódot az alábbiak szerint.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Ennek eredményeként az Excel VBA bezárja az Excel fájlt, anélkül, hogy meg kívánja menteni az elvégzett változtatásokat. Minden változás elvész.

Számítás

Alapértelmezés szerint a számítás automatikus. Ennek eredményeképpen az Excel automatikusan újraalkalmazza a munkafüzetet, amikor egy képletet érintő érték változik. Ha a munkafüzet sok összetett formulát tartalmaz, felgyorsíthatja makróját a számítás kézi beállításra való beállításával.

1. Helyezzen például egy parancsgombot a munkalapon, és adja hozzá a következő kódsor:

Application.Calculation = xlCalculationManual

Amikor a munkalapon található parancsgombra kattint, az Excel VBA a kézi számítást állítja be.

2. Ezt ellenőrizheti a Fájl, Opciók, Formulák gombra kattintva.

Számítási lehetőségek

3. Most, amikor megváltoztatja az A1 cellát, a B1 cellának értéke nem újraszámolódik.

Kézi számítás

A kézikönyvet manuálisan újraszámolhatja az F9 megnyomásával.

4. A legtöbb esetben a kalkuláció végén újra kiszámítja az automatikus értéket. Ehhez egyszerűen adja hozzá a következő kódot.

Application.Calculation = xlCalculationAutomatic
Szintén olvasható: