Función de hoja de trabajo de VBA - ¿Cómo utilizar WorksheetFunction en VBA?

Funciones de la hoja de trabajo de Excel VBA

La función de hoja de trabajo en VBA se usa cuando tenemos que referirnos a una hoja de trabajo específica, normalmente cuando creamos un módulo, el código se ejecuta en la hoja actualmente activa del libro de trabajo, pero si queremos ejecutar el código en la hoja de trabajo específica, usamos la función de hoja de trabajo, esta función tiene varios usos y aplicaciones en VBA.

Lo mejor de VBA es que, como usamos fórmulas en la hoja de trabajo de manera similar, VBA también tiene sus propias funciones. Si esto es lo mejor, entonces también tiene algo hermoso. Es decir, "también podemos usar funciones de hoja de trabajo en VBA".

¡¡¡Si!!! Lo escuchaste bien; también podemos acceder a las funciones de la hoja de trabajo en VBA. Podemos acceder a algunas de las funciones de la hoja de trabajo mientras escribimos el código y hacerlo parte de nuestro código.

¿Cómo usar las funciones de la hoja de trabajo en VBA?

En la hoja de trabajo, todas las fórmulas comienzan con el signo igual (=), de manera similar en la codificación VBA, para acceder a las fórmulas de la hoja de trabajo, debemos usar la palabra "WorksheetFunction".

Antes de ingresar cualquier fórmula de la hoja de trabajo, debe mencionar el nombre del objeto "WorksheetFunction" y luego poner un punto (.), Luego obtendrá una lista de todas las funciones disponibles bajo este objeto.

En este artículo, nos concentraremos exclusivamente en cómo usar las funciones de la hoja de trabajo en la codificación VBA, lo que agregará más valor a su conocimiento de codificación.

# 1 - Funciones simples de la hoja de trabajo SUM

Bien, para comenzar con las funciones de la hoja de trabajo, aplique la función SUMA simple en Excel para agregar números de la hoja de trabajo.

Suponga que tiene datos de costos y ventas mensuales en la hoja de trabajo como la siguiente.

En B14 y C14, necesitamos llegar al total de los números anteriores. Siga los pasos a continuación para iniciar el proceso de aplicación de la función "SUMA" en Excel VBA.

Paso 1: cree un nombre de macro simple en Excel.

Código:

Sub Worksheet_Function_Example1 () End Sub

Paso 2: Como necesitamos el resultado en la celda B14, inicie el código como Rango ("B14"). Valor =

Código:

Sub Worksheet_Function_Example1 () Rango ("B14"). Valor = End Sub

Paso 3: En B14, necesitamos el valor como resultado de la suma de los números. Entonces, para acceder a la función SUMA desde la hoja de trabajo, inicie el código como "WorksheetFunction".

Código:

Sub Worksheet_Function_Example1 () Rango ("B14"). Valor = WorksheetFunction. End Sub

Paso 4: En el momento en que ponga un punto (.), Comenzará a mostrar las funciones disponibles. Así que seleccione SUM de esto.

Código:

Sub Worksheet_Function_Example1 () Rango ("B14"). Valor = WorksheetFunction.Sum End Sub

Paso 5: Ahora dé la referencia de los números anteriores, es decir, Rango (“B2: B13”).

Código:

Sub Worksheet_Function_Example1 () Rango ("B14"). Valor = WorksheetFunction.Sum (Rango ("B2: B13")) End Sub

Paso 6: De manera similar, para la siguiente columna, aplique un código similar cambiando las referencias de celda.

Código:

Sub Worksheet_Function_Example1 () Range ("B14"). Value = WorksheetFunction.Sum (Range ("B2: B13")) Range ("C14"). Value = WorksheetFunction.Sum (Range ("C2: C13")) End Sub

Paso 7: Ahora ejecute este código manualmente o usando la tecla F5 para tener un total en las celdas B14 y C14.

Vaya, tenemos nuestros valores. Una cosa que debe notar aquí es que no tenemos ninguna fórmula en la hoja de trabajo, pero acabamos de obtener el resultado de la función "SUMA" en VBA.

# 2 - Use VLOOKUP como una función de hoja de trabajo

Veremos cómo usar VLOOKUP en VBA. Suponga que a continuación se encuentran los datos que tiene en su hoja de Excel.

En la celda E2, había creado una lista desplegable de todas las zonas.

Based on the selection you made in the E2 cell, we need to fetch the Pin Code for the respective zone. But this time through VBA VLOOKUP, not worksheet VLOOKUP. Follow the below steps to apply VLOOKUP.

Step 1: Create a simple macro name in the Sub Procedure.

Code:

Sub Worksheet_Function_Example2() End Sub

Step 2: We need the result in the F2 cell. So start the code as Range (“F2”).Value =

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = End Sub

Step 3: To access the worksheet function, VLOOKUP starts the code as “WorksheetFunction.VLOOKUP.”

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup( End Sub

Step 4: One of the problems here is syntax will not give you any sort of guidance to work with VLOOKUP. You need to be absolutely sure about the syntax you are working on.

The first syntax of VLOOKUP is “Lookup Value.” In this case, our lookup value is E2 cell value, so write the code as Range (“E2”).Value

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value, End Sub

Step 5: Now, the second argument is our table array. In this case, our table array range is from A2 to B6. So the code will be Range (“A2:B6”)

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value,Range ("A2:B6"), End Sub

Step 6: The Third argument will be from which column we need the data from the table array. Here we need the data from the 2nd column, so the argument will be 2.

Code:

Sub Worksheet_Function_Example2() Range ("F2").Value = WorksheetFunction.Vlookup(Range ("E2").Value,Range ("A2:B6"),2, End Sub

Step 7: The final argument is range lookup, we need an exact match, so the argument is zero (0).

Code:

Sub Worksheet_Function_Example2() Range("F2").Value = WorksheetFunction.VLookup(Range("E2").Value, Range("A2:B6"), 2, 0) End Sub

So, we are done with the coding part. Now go to the worksheet and select any of the range.

Now go to your coding module and run the macro Using the F5 key or manually to get the pin code of the selected zone.

No podemos volver atrás y ejecutar la macro cada vez, así que asignemos una macro a las formas. Inserta una de las formas en una hoja de trabajo.

Agrega un valor de texto a la forma insertada.

Ahora haga clic derecho y asigne el nombre de la macro a esta forma.

Haga clic en Aceptar después de seleccionar el nombre de la macro.

Ahora, esta forma contiene el código de nuestra fórmula BUSCARV. Entonces, cada vez que cambie el nombre de la zona, haga clic en el botón, se actualizarán los valores.

Cosas para recordar

  • Para acceder a las funciones de la hoja de trabajo, debemos escribir la palabra "WorksheetFunction" o "Application.WorksheetFunction"
  • No tenemos acceso a todas las funciones, solo algunas.
  • No vemos la sintaxis real de las funciones de la hoja de trabajo, por lo que debemos estar absolutamente seguros de la función que estamos usando.

Articulos interesantes...