Contar palabras en Excel VBA

Buenos días, soy Miguel y hoy os traigo un nuevo post.

A continuación veremos un programa en Excel VBA ese contar el número de palabras en un rango seleccionado. Se supone que uno o más espacios separan palabras.

Localización:

Contar palabras en Excel VBA

1. Primero, declaramos dos objetos Range y tres variables. Llamamos a los objetos Range rng y cell. Una variable entera que llamamos cellWords, una variable entera llamada totalWords y una variable String que llamamos contenido.

Oscuro rng Cómo Alcanzar eso Cómo Alcance
Oscuro Palabras celulares, palabras totales Cómo Entero, contenido Cómo La cadena

2. Inicializamos el objeto Range rng con el rango seleccionado y las dos variables de tipo Integer con valor 0.

Colocar rng = Selección
Palabras de celda = 0
palabras totales = 0

3. Queremos comprobar cada celda en un rango seleccionado al azar (este rango puede ser de cualquier tamaño). En Excel VBA, puede usar For each next loop para esto. Agregue las siguientes líneas de código:

Para Cada ese En rng

Entonces ese

Nota: rng y cell se eligen al azar aquí, puede usar cualquier nombre. Recuerde verificar estos nombres en el resto de su código.

4. A continuación, determinaremos para cada celda de este rango cuántas palabras contiene. Para ignorar una celda que contiene una fórmula, agregue la siguiente línea de código entre For each y next (solo si cell.HasFormula es falso, continuamos).

No. celda Tiene fórmula Entonces

Aleta

5. Primero, escribimos el contenido de la celda en el contenido de la variable. Luego eliminamos los espacios al principio y al final (si los hay). En Excel VBA, puede usar la función Recortar para esto. Por ejemplo, "excel vba" se convertirá en "excel vba". Agregue las siguientes líneas de código en la instrucción If.

contenido = celda.Valor
contenido = Cultivo (contenido)

Nota: La función de recorte en Excel VBA no elimina espacios adicionales entre palabras, pero está bien en este ejemplo.

6. En este momento, es posible que una celda aún esté vacía. Si la celda está vacía, asignamos el valor 0 a las palabras variables Celda. De lo contrario, contiene al menos una palabra y asignamos el valor 1 a la celda variable Palabras. Agregue las siguientes líneas de código en la instrucción If.

contenido = "" Entonces

Palabras de celda = 0
Otra cosa

Palabras de celda = 1
Aleta

Una celda puede contener más de una palabra, por supuesto. Eso es exactamente lo que queremos averiguar ahora. Como ejemplo tomamos: "excel vba". Si una celda contiene al menos un espacio en esta etapa, contiene al menos una palabra más. Puede usar la función Instr en Excel VBA para buscar un espacio. Instr (contenido, "") busca la posición del primer espacio en el contenido.

7. Usaremos la estructura Do While Loop. El código colocado entre estas palabras (en los pasos 8, 9 y 10) se repetirá siempre que el reverso de Do While sea verdadero. Queremos repetir estos pasos siempre que Instr (contenido, "")> 0 sea verdadero (siempre que el contenido contenga un espacio y, por lo tanto, más palabras). Agregue el ciclo Do While a la instrucción If.

Hacer Mientras InStr (contenido, "")> 0

Lazo

8. A continuación, tomamos la parte del contenido que comienza en la posición del primer espacio. Para hacer esto usamos la función Mid.

contenido = Medio (contenido, InStr (contenido, ""))

Por ejemplo: Mid ("excel vba", InStr ("excel vba", "")) dará "vba".

9. Cortamos la cuerda nuevamente.

contenido = Cultivo (contenido)

Resultado: "vba"

10. Aumentamos las palabras de la celda en 1.

Palabras de celda = Palabras de celda + 1

Este bucle Do While se repetirá siempre que el contenido contenga un espacio y, por lo tanto, más palabras. En nuestro ejemplo, dejamos Do While Loop ya que "vba" ya no contiene un espacio. Resultado: esta celda contiene 2 palabras.

11. Después de marcar una celda, agregamos CellWords a la variable Total Words. Esta línea de código debe colocarse fuera del bucle Do While pero en la instrucción If.

palabras totales = palabras totales + palabras de celda

Todo el proceso comienza de nuevo para la siguiente celda hasta que se hayan verificado todas las celdas.

12. Finalmente, mostramos el valor del total de palabras usando un cuadro de mensaje. Esta línea de código debe colocarse fuera del bucle For Each Next.

MsgBox total de palabras y "palabras encontradas en el rango seleccionado".

13. Pruebe el programa.

Resultado:

Resultado de contar palabras

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página utiliza Cookies. Más info