En VBAcode, si tiene que hacer referencia a ciertas funciones de la hoja de trabajo como Sum, Vlookup, etc., puede usarlas directamente usando el objeto Application. Entonces usaremos las funciones como – Application.WorksheetFunction.Sum o Application.WorksheetFunction.Vlookup donde WorksheetFunction es el método del objeto Application.

Teniendo en cuenta que tenemos esta macro de prueba, si escribimos Application.WorksheetFunction.

Obtendremos una ventana emergente que muestra la fórmula debajo de la imagen

IMG1

Entonces, por ejemplo, si desea sumar los valores de este rango en la columna A usando vba –

sample

Tengamos una variable llamada SalesTotal que guardará la suma en ella. Para obtener el total en SalesTotal usaremos el siguiente código VBA en el módulo estándar:

_Sub macro4 ()

Dim SalesTotal As Long SalesTotal = Application.WorksheetFunction.Sum (Range («A2: A6»))

MsgBox SalesTotal End Sub_ Para copiar el código anterior a su archivo, * Presione Alt + F11 en el teclado.

  • En el lado izquierdo, verá Objetos de Microsoft Excel.

  • Haga clic derecho y seleccione Insertar.

  • Luego haga clic en Módulo.

  • Copie el código en la ventana de código de la derecha.

Cuando usemos esta macro de muestra, obtendremos un mensaje que muestra el valor que está almacenado en Sales Total y se puede usar en otras líneas de código en la macro.

El resultado que obtendremos es –

IMG3

Si desea que SalesTotal se muestre en la celda A7, puede cambiar la línea de código de Msgbox SalesTotala Worksheets («Sheet1»). Range («A7»). Value = SalesTotal Considerando que también necesitamos las ventas promedio para estas cifras en la celda A9.

Podemos usar el siguiente código __Sub macro5 ()

Dim SalesTotal siempre que tenga hojas de trabajo («Sheet1»)

SalesTotal = Application.WorksheetFunction.Sum (.Range («A2: A6»))

Range («A7»). Value = SalesTotal .Range («A9»). Value = Application.WorksheetFunction.Average (.Range («A2: A6»))

End With End Sub__ Hay ligeros cambios en este código en comparación con el anterior.

  • En lugar de usar una variable para el promedio, completé directamente ese valor después del cálculo en la celda A9. Por lo tanto, verá la línea .Range (“A9”). Value = Application.WorksheetFunction.Average (.Range (“A2: A6”))

  • Se ha eliminado la línea msgbox.

  • El valor de la variable SalesTotal va a la celda A7.

  • Idealmente, puede repetir la misma línea de código que se ha utilizado para el promedio, para la línea de código Suma reemplazando SalesTotal = Application.WorksheetFunction.Sum (.Range (“A2: A6”)) _ _.Range (“A7 ”) .Value = SalesTotal With _.Range (“ A7 ”). Value = Application.WorksheetFunction.Sum (.Range (“ A2: A6 ”)) _ Sin embargo, se ha retenido para que pueda comprender las diferentes formas de codificar la misma tarea. De manera similar, podemos usar otras funciones mientras usamos Application.WorksheetFunction. Todas aquellas funciones que podemos usar en la hoja de trabajo directamente, podemos usarlas aquí.

Esto facilita el uso de las funciones en el código para que podamos calcular las fórmulas necesarias sin tener que crear un código para la fórmula.

image 48

_ _Si te gustaron nuestros blogs, compártelo con tus amigos en Facebook. Y también puedes seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar, complementar o innovar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected] __