„Excel VBA“ taikymo objektas - lengvos „Excel“ makrokomandos

Turinys

Darbo lapasFunkcija | Ekrano atnaujinimas | „DisplayAlerts“ | Skaičiavimas

Visų objektų motina yra pati „Excel“. Mes tai vadiname Taikymo objektas. Programos objektas suteikia prieigą prie daugelio su „Excel“ susijusių parinkčių.

Darbo lapas Funkcija

Ypatybę „WorksheetFunction“ galite naudoti Excel VBA pasiekti „Excel“ funkcijas.

1. Pavyzdžiui, įdėkite komandų mygtuką į savo darbalapį ir pridėkite šią kodo eilutę:

Diapazonas („A3“). Reikšmė = Application.WorksheetFunction.Average (Diapazonas („A1: A2“))

Kai darbalapyje spustelėsite komandų mygtuką, „Excel VBA“ apskaičiuoja A1 ir A2 langelių reikšmių vidurkį ir įdeda rezultatą į langelį A3.

Pastaba: vietoj Application.WorksheetFunction.Average tiesiog naudokite WorksheetFunction.Average. Jei pažvelgsite į formulės juostą, pamatysite, kad pati formulė nėra įterpta į langelį A3. Norėdami įterpti formulę į langelį A3, naudokite šią kodo eilutę:

Diapazonas ("A3"). Vertė = "= VIDUTINIS (A1: A2)"

Ekrano atnaujinimas

Kartais gali būti naudinga išjungti ekrano atnaujinimą (kad nebūtų mirgėjimo) vykdant kodą. Dėl to jūsų kodas veiks greičiau.

1. Pavyzdžiui, įdėkite komandų mygtuką į savo darbalapį ir pridėkite šias kodo eilutes:

Dim i As Integer
Jei i = 1 iki 10000
Diapazonas („A1“). Vertė = i
Kitas I.

Kai darbalapyje spustelėsite komandų mygtuką, „Excel VBA“ kiekvieną reikšmę parodo mažą sekundės dalį ir tai gali užtrukti.

2. Norėdami pagreitinti procesą, atnaujinkite kodą taip.

Dim i As Integer
Application.ScreenUpdating = Netiesa
Jei i = 1 iki 10000
Diapazonas („A1“). Vertė = i
Kitas I.
Application.ScreenUpdating = Tiesa

Dėl to jūsų kodas veiks daug greičiau ir matysite tik galutinį rezultatą (10000).

„DisplayAlerts“

Galite nurodyti „Excel VBA“ nerodyti įspėjimų vykdant kodą.

1. Pavyzdžiui, įdėkite komandų mygtuką į savo darbalapį ir pridėkite šią kodo eilutę:

ActiveWorkbook.Uždaryti

Kai darbalapyje spustelėsite komandų mygtuką, „Excel VBA“ uždaro „Excel“ failą ir prašo išsaugoti atliktus pakeitimus.

2. Norėdami nurodyti „Excel VBA“ nerodyti šio įspėjimo vykdant kodą, atnaujinkite kodą taip.

Application.DisplayAlerts = Netiesa
ActiveWorkbook.Uždaryti
Application.DisplayAlerts = Tiesa

Dėl to „Excel VBA“ uždaro „Excel“ failą, neprašydama išsaugoti atliktų pakeitimų. Bet kokie pakeitimai prarandami.

Skaičiavimas

Pagal numatytuosius nustatymus skaičiavimas nustatytas kaip automatinis. Dėl to „Excel“ automatiškai perskaičiuoja darbaknygę kiekvieną kartą, kai keičiasi formulę veikianti reikšmė. Jei jūsų darbaknygėje yra daug sudėtingų formulių, galite pagreitinti makrokomandą nustatydami rankinį skaičiavimą.

1. Pavyzdžiui, įdėkite komandų mygtuką į savo darbalapį ir pridėkite šią kodo eilutę:

Application.Calculation = xlCalculationManual

Kai darbalapyje spustelėsite komandų mygtuką, „Excel VBA“ skaičiavimą nustato rankiniu būdu.

2. Tai galite patikrinti spustelėdami Failas, Parinktys, Formulės.

3. Dabar, kai keičiate langelio A1 reikšmę, langelio B1 vertė nėra perskaičiuojama.

Galite rankiniu būdu perskaičiuoti darbaknygę paspausdami F9.

4. Daugeliu atvejų kodo pabaigoje vėl nustatysite automatinį skaičiavimą. Norėdami tai padaryti, tiesiog pridėkite šią kodo eilutę.

Application.Calculation = xlCalculationAutomatic

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave