Darblapas funkcijas VBA makro, izmantojot VBA programmā Microsoft Excel

Anonim

Ja VBA kodā ir jāatsaucas uz noteiktām darblapas funkcijām, piemēram, Sum, Vlookup utt., Varat tās izmantot tieši, izmantojot lietojumprogrammas objektu. Tāpēc mēs izmantosim šādas funkcijas:

Application.WorksheetFunction.Sum vai Application.WorksheetFunction.Vlookup kur WorksheetFunction ir lietojumprogrammas objekta metode.

Ņemot vērā, ka mums ir šis testa makro, ja mēs rakstām

Application.WorksheetFunction.

Mēs saņemsim uznirstošo logu, kurā parādītas formulas, kas norādītas zem attēla

Piemēram, ja vēlaties summēt šī diapazona vērtības A slejā, izmantojot vba -

Ļauj izveidot mainīgo ar nosaukumu SalesTotal, kas ietaupīs tajā esošo summu. Lai iegūtu kopējo summu SalesTotal, standarta modulī izmantosim šādu VBA kodu:

Apakšmakro4 ()
Pārdošanas aptumšošana Kopā tik ilgi
SalesTotal = Application.WorksheetFunction.Sum (Diapazons ("A2: A6"))
MsgBox SalesTotal
Beigt apakš

Lai kopētu iepriekš minēto kodu savā failā,

  • Nospiediet tastatūras taustiņu kombināciju Alt + F11.
  • Kreisajā pusē redzēsit Microsoft Excel objektus.
  • Ar peles labo pogu noklikšķiniet un atlasiet Ievietot.
  • Pēc tam noklikšķiniet uz moduļa.
  • Kopējiet kodu koda logā labajā pusē.

Izmantojot šo makro paraugu, mēs saņemsim ziņojumu, kurā parādīta vērtība, kas tiek saglabāta pārdošanas kopsummā un ko var izmantot turpmākajās makro koda rindās.

Rezultāts, ko mēs iegūsim, ir -

Ja vēlaties, lai SalesTotal tiktu parādīta šūnā A7, varat mainīt koda rindu no

Msgbox SalesTotaluz Darblapas (“Sheet1”). Diapazons (“A7”). Vērtība = SalesTotal

Ņemot vērā, ka mums ir nepieciešami arī vidējie pārdošanas rādītāji šiem skaitļiem šūnā A9. Mēs varam izmantot zemāk esošo kodu

Apakšmakro5 ()
Pārdošanas aptumšošana Kopā tik ilgi
Ar darblapām ("Sheet1")
SalesTotal = Application.WorksheetFunction.Sum (.Range ("A2: A6"))
.Range ("A7"). Vērtība = SalesTotal
.Range ("A9"). Vērtība = Application.WorksheetFunction.Average (.Range ("A2: A6"))
Beigt ar
Beigt apakš

Salīdzinot ar iepriekšējo, šajā kodā ir nelielas izmaiņas.

  • Tā vietā, lai izmantotu mainīgo vidējam, es pēc aprēķināšanas tieši ievadīju šo vērtību šūnā A9. Tādējādi jūs redzēsiet rindu .Range (“A9”). Value = Application.WorksheetFunction.Average (.Range (“A2: A6”))
  • Ziņojumu lodziņa rinda ir noņemta.
  • Mainīgā SalesTotal vērtība iet uz šūnu A7.
  • Ideālā gadījumā jūs varat atkārtot to pašu koda rindu, kas izmantota vidējai summas koda rindai, aizstājot

SalesTotal = Application.WorksheetFunction.Sum (.Range (“A2: A6”))

.Range (“A7”). Vērtība = SalesTotal

Ar

.Range (“A7”). Vērtība = Application.WorksheetFunction.Sum (.Range (“A2: A6”))

Tomēr tas ir saglabāts, lai jūs varētu saprast dažādus viena un tā paša uzdevuma kodēšanas veidus. Līdzīgi, lietojot Application.WorksheetFunction, mēs varam izmantot arī citas funkcijas. Visas tās funkcijas, kuras mēs varam izmantot darblapā tieši, mēs varam tās izmantot šeit.

Tas atvieglo koda funkciju izmantošanu, lai mēs varētu aprēķināt nepieciešamās formulas, neveidojot formulas kodu.

Ja jums patika mūsu emuāri, kopīgojiet to ar saviem draugiem Facebook. Un arī jūs varat sekot mums Twitter un Facebook.
Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot, papildināt vai ieviest jauninājumus mūsu darbā un uzlabot to jūsu labā. Rakstiet mums uz e -pasta vietne