Com utilitzar les funcions del full de treball VBA a Excel 2016

Tot i que VBA ofereix un assortiment decent de funcions integrades, és possible que no sempre trobeu exactament el que necessiteu. Afortunadament, també podeu utilitzar la majoria de les funcions del full de treball d'Excel als vostres procediments VBA. Les úniques funcions del full de treball que no podeu utilitzar són les que tenen una funció VBA equivalent. Per exemple, no podeu utilitzar la funció RAND d'Excel (que genera un nombre aleatori) perquè VBA té una funció equivalent: Rnd.

VBA fa que les funcions del full de treball d'Excel estiguin disponibles a través de l'objecte WorksheetFunction, que es troba a l'objecte Aplicació. Aquí teniu un exemple de com podeu utilitzar la funció SUMA d'Excel en una instrucció VBA:

Total = Application.WorksheetFunction.SUM(Range(“A1:A12”))

Podeu ometre la part Aplicació o la part WorksheetFunction de l'expressió. En qualsevol cas, VBA esbrina què estàs fent. En altres paraules, aquestes tres expressions funcionen totes exactament igual:

Total = Application.WorksheetFunction.SUM(Range(“A1:A12”))
Total = WorksheetFunction.SUM(Rang(“A1:A12”))
Total = Aplicació.SUMA(Rang(“A1:A12”))

La meva preferència personal és utilitzar la part WorksheetFunction només per deixar perfectament clar que el codi utilitza una funció d'Excel.

Exemples de funcions de full de treball

Aquí, descobrireu com utilitzar les funcions del full de treball a les vostres expressions VBA.

Trobar el valor màxim en un interval

Aquí teniu un exemple que mostra com utilitzar la funció de full de treball MAX d'Excel en un procediment VBA. Aquest procediment mostra el valor màxim a la columna A del full de treball actiu:

Com utilitzar les funcions del full de treball VBA a Excel 2016

Utilitzant una funció de full de treball al vostre codi VBA.

Sub ShowMax()
  Atenua TheMax com a doble
  TheMax = WorksheetFunction.MAX(Range ("A:A"))
  MsgBox TheMax
End Sub

Podeu utilitzar la funció MIN per obtenir el valor més petit d'un interval. I com és d'esperar, podeu utilitzar altres funcions del full de treball d'una manera similar. Per exemple, podeu utilitzar la funció GRAN per determinar el k -èsimo valor més gran d'un interval. La següent expressió ho demostra:

Segon més alt = WorksheetFunction.LARGE(Range(“A:A”),2)

Observeu que la funció GRAN utilitza dos arguments. El segon argument representa la k- èsima part — 2, en aquest cas (el segon valor més gran).

Càlcul del pagament d'una hipoteca

L'exemple següent utilitza la funció de full de treball PMT per calcular el pagament d'una hipoteca. S'utilitzen tres variables per emmagatzemar les dades que es passen a la funció Pmt com a arguments. Un quadre de missatge mostra el pagament calculat.

Sub PmtCalc()
  Dim IntRate com a doble
  Dim LoanAmt com a doble
  Períodes tènues tan llargs
  IntRate = 0,0625/12
  Períodes = 30 * 12
  LoanAmt = 150000
  MsgBox WorksheetFunction.PMT(IntRate, Periods, -LoanAmt)
End Sub

Com mostra la declaració següent, també podeu inserir els valors directament com a arguments de funció:

MsgBox WorksheetFunction.PMT(0,0625 /12, 360, -150000)

Tanmateix, l'ús de variables per emmagatzemar els paràmetres fa que el codi sigui més fàcil de llegir i modificar, si cal.

Utilitzant una funció de cerca

L'exemple següent utilitza les funcions InputBox i MsgBox de VBA, a més de la funció VLOOKUP d'Excel. Demana un número de peça i després obté el preu d'una taula de cerca. A continuació, l'interval A1:B13 s'anomena PriceList.

Com utilitzar les funcions del full de treball VBA a Excel 2016

La gamma, anomenada PriceList, conté preus de peces.

Sub GetPrice()
  Dim PartNum com a variant
  Preu reduït com a doble
  PartNum = InputBox("Introduïu el número de peça")
  Fulls ("Preus").Activar
  Preu = WorksheetFunction.VLOOKUP(PartNum, Range(“PriceList”), 2, False)
  MsgBox PartNum & " costos " & Preu
End Sub

A continuació es mostra com funciona el procediment GetPrice:

  • La funció InputBox de VBA demana a l'usuari un número de peça.

  • El número de part que introdueix l'usuari s'assigna a la variable PartNum.

  • La següent declaració activa el full de treball Preus, per si encara no és el full actiu.

  • El codi utilitza la funció VLOOKUP per trobar el número de peça a la taula.

  • Tingueu en compte que els arguments que feu servir en aquesta declaració són els mateixos que els que utilitzaríeu amb la funció en una fórmula de full de treball. Aquesta instrucció assigna el resultat de la funció a la variable Preu.

  • El codi mostra el preu de la peça mitjançant la funció MsgBox.

Aquest procediment no té cap tractament d'errors i falla estrepitosamente si introduïu un número de peça inexistent. (Proveu-ho.) Si aquesta fos una aplicació real que s'utilitza en un negoci real, voldríeu afegir algunes declaracions que tracten els errors amb més gràcia.

Introducció de funcions del full de treball

No podeu utilitzar el quadre de diàleg Funció d'enganxar d'Excel per inserir una funció de full de treball en un mòdul VBA. En lloc d'això, introduïu aquestes funcions de la manera antiga: a mà. Tanmateix, podeu utilitzar el quadre de diàleg Enganxa la funció per identificar la funció que voleu utilitzar i conèixer els seus arguments.

També podeu aprofitar l'opció de membres de la llista automàtica de VBE, que mostra una llista desplegable de totes les funcions del full de treball. Només heu d'escriure Application.WorksheetFunction , seguit d'un punt. A continuació, veuràs una llista de les funcions que pots utilitzar. Si aquesta funció no funciona, trieu l'ordre Eines → Opcions de VBE, feu clic a la pestanya Editor i marqueu l'opció Membres de la llista automàtica.

Com utilitzar les funcions del full de treball VBA a Excel 2016

Obtenció d'una llista de funcions del full de treball que podeu utilitzar al vostre codi VBA.

Més informació sobre l'ús de les funcions del full de treball

Els nouvinguts a VBA sovint confonen les funcions integrades de VBA i les funcions del llibre de treball d'Excel. Una bona regla per recordar és que VBA no intenta reinventar la roda. En la seva majoria, VBA no duplica les funcions del full de treball d'Excel.

Per a la majoria de les funcions del full de treball que no estan disponibles com a mètodes de l'objecte WorksheetFunction, podeu utilitzar un operador o funció integrat de VBA equivalent. Per exemple, la funció de full de treball MOD no està disponible a l'objecte WorksheetFunction perquè VBA té un equivalent: el seu operador Mod integrat.

Linia inferior? Si necessiteu utilitzar una funció, primer determineu si VBA té alguna cosa que s'adapti a les vostres necessitats. Si no, consulteu les funcions del full de treball. Si tot falla, és possible que pugueu escriure una funció personalitzada mitjançant VBA.


Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word d'obrir fitxers en mode de només lectura a Windows Microsoft Word obre fitxers en mode de només lectura, cosa que fa que sigui impossible editar-los? No us preocupeu, els mètodes es mostren a continuació

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com corregir errors en imprimir documents incorrectes de Microsoft Word Els errors en imprimir documents de Word amb tipus de lletra canviats, paràgrafs desordenats, falta de text o contingut perdut són força habituals. No obstant això, no

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Si heu utilitzat el llapis o el marcador per dibuixar a les vostres diapositives de PowerPoint durant una presentació, podeu desar els dibuixos per a la següent presentació o esborrar-los de manera que la propera vegada que el mostreu, començareu amb diapositives de PowerPoint netes. Seguiu aquestes instruccions per esborrar dibuixos a llapis i ressaltadors: Esborrant línies una a […]

Contingut de la biblioteca destils a SharePoint 2010

Contingut de la biblioteca destils a SharePoint 2010

La biblioteca d'estils conté fitxers CSS, fitxers de llenguatge de full d'estil extensible (XSL) i imatges utilitzades per pàgines mestres predefinides, dissenys de pàgina i controls a SharePoint 2010. Per localitzar fitxers CSS a la biblioteca d'estils d'un lloc de publicació: Trieu Accions del lloc→Visualitza Tot el contingut del lloc. Apareix el contingut del lloc. La biblioteca d'estil es troba a […]

Formateu els números en milers i milions als informes dExcel

Formateu els números en milers i milions als informes dExcel

No desbordeu el vostre públic amb números gigantesques. A Microsoft Excel, podeu millorar la llegibilitat dels vostres taulers i informes formatant els vostres números perquè apareguin en milers o milions.

Com compartir i seguir els llocs de SharePoint

Com compartir i seguir els llocs de SharePoint

Apreneu a utilitzar les eines de xarxes socials de SharePoints que permeten a persones i grups comunicar-se, col·laborar, compartir i connectar-se.

Com convertir les dates a formats Julian a Excel

Com convertir les dates a formats Julian a Excel

Les dates julianes s'utilitzen sovint en entorns de fabricació com a marca de temps i referència ràpida per a un número de lot. Aquest tipus de codificació de dates permet als minoristes, consumidors i agents de serveis identificar quan es va fabricar un producte i, per tant, l'antiguitat del producte. Les dates julianes també s'utilitzen en programació, militars i astronomia. Diferents […]

Com crear una aplicació web daccés

Com crear una aplicació web daccés

Podeu crear una aplicació web a Access 2016. Què és, de totes maneres, una aplicació web? Bé, web vol dir que està en línia i l'aplicació és només una abreviatura de "aplicació". Una aplicació web personalitzada és una aplicació de base de dades en línia a la qual s'accedeix des del núvol mitjançant un navegador. Creeu i manteniu l'aplicació web a la versió d'escriptori […]

Barra dinici ràpid a SharePoint 2010

Barra dinici ràpid a SharePoint 2010

La majoria de les pàgines del SharePoint 2010 mostren una llista d'enllaços de navegació a la barra d'inici ràpid al costat esquerre de la pàgina. La barra d'inici ràpid mostra enllaços al contingut del lloc destacat, com ara llistes, biblioteques, llocs i pàgines de publicació. La barra d'inici ràpid inclou dos enllaços molt importants: Enllaç de tot el contingut del lloc: el […]

Què signifiquen els missatges derror del solucionador a Excel?

Què signifiquen els missatges derror del solucionador a Excel?

Per a problemes senzills, Solver a Excel sol trobar ràpidament els valors òptims de la variable Solver per a la funció objectiu. Però, en alguns casos, Solver té problemes per trobar els valors de la variable Solver que optimitzen la funció objectiu. En aquests casos, Solver normalment mostra un missatge o un missatge d'error que descriu o discuteix el problema que […]