MunkalapFunkció | Képernyőfrissítés | DisplayAlerts | Számítás
Minden objektum anyja maga az Excel. Ezt hívjuk Alkalmazás objektum. Az alkalmazásobjektum számos Excel -hez kapcsolódó opciót biztosít.
MunkalapFunkció
A WorksheetFunction tulajdonságot itt használhatja Excel VBA az Excel funkciók eléréséhez.
1. Például tegyen egy parancsgombot a munkalapra, és adja hozzá a következő kód sort:
Tartomány ("A3"). Érték = Application.WorksheetFunction.Average (tartomány ("A1: A2"))
Amikor rákattint a parancslapra a munkalapon, az Excel VBA kiszámítja az A1 és az A2 cella értékeinek átlagát, és az eredményt az A3 cellába helyezi.
Megjegyzés: az Application.WorksheetFunction.Average helyett egyszerűen használja a WorksheetFunction.Average lehetőséget. Ha megnézi a képlet sávot, láthatja, hogy maga a képlet nincs beillesztve az A3 cellába. Ha magát a képletet szeretné beszúrni az A3 cellába, használja a következő kód sort:
Tartomány ("A3"). Érték = "= ÁTLAG (A1: A2)"
Képernyő frissítés
Néha hasznos lehet a képernyőfrissítés letiltása (a villódzás elkerülése érdekében) a kód végrehajtása közben. Ennek eredményeként a kód gyorsabban fog futni.
1. Például helyezzen el egy parancsgombot a munkalapon, és adja hozzá a következő kódsorokat:
Dim i As Integer
I = 1 és 10000 között
Tartomány ("A1"). Érték = i
Következő i
Ha rákattint a parancslapra a munkalapon, az Excel VBA minden egyes értéket a másodperc töredéke jeleníti meg, és ez eltarthat egy ideig.
2. A folyamat felgyorsítása érdekében frissítse a kódot az alábbiak szerint.
Dim i As Integer
Application.ScreenUpdating = Hamis
I = 1 és 10000 között
Tartomány ("A1"). Érték = i
Következő i
Application.ScreenUpdating = Igaz
Ennek eredményeként a kód sokkal gyorsabban fog futni, és csak a végeredményt fogja látni (10000).
DisplayAlerts
Utasíthatja az Excel VBA -t, hogy ne jelenítsen meg figyelmeztetéseket a kód végrehajtása közben.
1. Például tegyen egy parancsgombot a munkalapra, és adja hozzá a következő kód sort:
ActiveWorkbook.Zár
Amikor rákattint a parancslapra a munkalapon, az Excel VBA bezárja az Excel -fájlt, és kéri, hogy mentse a módosításokat.
2. Ha azt szeretné, hogy az Excel VBA 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 = Hamis
ActiveWorkbook.Zár
Application.DisplayAlerts = Igaz
Ennek eredményeként az Excel VBA bezárja az Excel -fájlt, anélkül, hogy kéri az elvégzett módosítások mentését. Minden változás elvész.
Számítás
Alapértelmezés szerint a számítás automatikusra van állítva. Ennek eredményeként az Excel minden alkalommal automatikusan újraszámítja a munkafüzetet, amikor a képletet befolyásoló érték megváltozik. Ha a munkafüzet sok bonyolult képletet tartalmaz, felgyorsíthatja a makrót a számítás manuális beállításával.
1. Például tegyen egy parancsgombot a munkalapra, és adja hozzá a következő kód sort:
Application.Calculation = xlCalculationManual
Amikor rákattint a parancslapra a munkalapon, az Excel VBA kézi értékre állítja a számítást.
2. Ezt a Fájl, Beállítások, Képletek elemre kattintva ellenőrizheti.
3. Most, amikor megváltoztatja az A1 cella értékét, a B1 cella értéke nincs újraszámolva.
Az F9 billentyű lenyomásával manuálisan újraszámíthatja a munkafüzetet.
4. A legtöbb esetben a kód végén újra automatikusra állítja a számítást. Ehhez egyszerűen adja hozzá a következő kód sort.
Application.Calculation = xlCalculationAutomatic