Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como contar valores con macro función Count


.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  



WorksheetFunction tiene como finalidad ejecutar casi todas las funciones que trae incorporadas Excel, pudiendo incorporarse en una macro de VBA y usar estas funciones, esto se viene explicando en varios post anteriores; en el link encontrarás la explicación acerca del tema WorksheetFunction funciones de Excel en VBA y un listado de funciones de Excel en listado de todas las funciones que se pueden ejecutar desde una macro de VBA.

El presente ejemplo de macro utiliza WorksheetFunction.Count que permite contar valores en un rango determinado, existen otros post relacionados con WorksheetFunctión como por ejemplo: como se utiliza la función VLookup o BuscarVen Funciones de Excel descripción y traducción al inglés y otros idiomas, encontrarás listadas y con una breve explicación sobre que realiza cada una de las funciones de Excel, en como utilizar BuscarV se explica la utilización de dicha función en Excel, otras funciones que te pueden interesar son Vlookup o BuscarVSumIfs o SumIf.

Siguiendo con el tema tratado, la función WorksheetFunction.Count o Cuenta valores en un determinado rango, su sintaxis es la siguiente:

La función WorksheetFunction.Count o cuenta de valores númericos sirve para obtener la cantidad de valores que existen en las celdas de un rango determinado; la sintaxis es la siguiente:

WorksheetFunction.Count(Arg1, Arg2, Arg3, Arg4…. Arg30)

El significado de los parámetros son:

Arg1 a Arg30, es un dato obligatorio, representan los rangos donde se requiere contar, las celdas pueden contener distintos tipos de datos, pero solo se contarán las celdas que contienen valores númericos.

En este post  WorksheetFunction.Count muestro como se incorpora en una macro una función que trae Excel incorporada, permitiendo contar solamente las celdas que contienen valores numéricos, pasando por alto las celdas que contengan otro tipo de datos, ello se realiza en un rango que previamente se ha establecido y su vez, en este ejemplo, coloca dicho resultado mediante macro en una celda; primero se determinar cual es la última fila con datos mediante la variable «uf», esto es a los fines de armar el rango de la matriz donde se buscarán y contarán los valores; posteriormente se aplica la función Count o contar celdas con valores.

Con el código siguiente coloca en la celda E25 el resultado de la función, que es la cantidad de celdas que contienen valores numéricos que existe en el rango dado, en este caso el rango se determina desde la celda A2 hasta la columna B y última fila con datos :

Cells(25, «E») = Application.WorksheetFunction.Count(Range(«A2» & «:B» & uf))

Como se puede observar al final de la macro, por último aparece un mensaje a través de un msgbox que muestra la cantidad de valores contados, recuerda que como siempre la descarga del ejemplo es GRATUITA y se realiza desde el link que se encuentra en el final del post.

Finalizando, el ejemplo de macro que utiliza WorksheetFunction Count o Cuenta de celdas con valores numéricos, acá encontrarás una función que cuenta las celdas vacías o en blanco solamente y aquí una función que permite contar cualquier tipo de datos; se puede descargar desde el link del final de este post, una vez descargado el ejemplo se presiona el botón que dice «Macro» y se ejecuta la macro que cuenta las celdas con datos numéricos; para probarla se pueden cambiar los datos y el resultado se recalculará.

En el vídeo encontrarás una explicación más gráfica y detallada del ejemplo presentado, sugiero que suscribas al canal de You Tube para recibir en tu correo los vídeos que se publiquen, también suscribe al blog desde la parte superior derecha de la página agregando su dirección de correo electrónico.


if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}

Código que se inserta en un módulo

Sub CuentaCeldas()
Application.ScreenUpdating = False
On Error Resume Next
DisplayAlerts = False
Dim uf As String
Dim fila As Integer
fila = 2
uf = Sheets(«Hoja1»).Range(«A» & Rows.Count).End(xlUp).Row
Cells(25, «E») = Application.WorksheetFunction.Count(Range(«A2» & «:B» & uf))
Range(«B25»).NumberFormat = «#,##0.00»
MsgBox («Hay » & Cells(25, «E») & » valores en el rango»), vbInformation, «AVISO»
DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends