Nube de palabras en Excel

La nube de palabras también se conoce como nube de etiquetas en excel que es una representación visual de texto en excel en diferentes colores o formatos, en una nube de palabras la frecuencia de la representación del trabajo se define por la fuente de la palabra, esto se hace usando el arte inteligente y la característica de formas de Excel.

¿Qué es Word Cloud en Excel?

Word Cloud es la colección de palabras para mostrar en forma de visualización en Excel. Espero que hayas visto algunos de los mejores paneles con números y visualizaciones creativas en Excel. Los paneles de control van desde fuentes elegantes con colores atractivos con algunas imágenes de súper cosas. Uno de los cuadros de mando peculiares que debes haber visto con "Word Cloud" . Parece una imagen descargada de software sofisticado, pero no se descarga desde ningún lugar, sino que se crea con la codificación Excel VBA. ¡¡¡Si!!! Tiene razón, ha sido creado por codificación VBA y en este artículo, le mostraremos cómo crear una nube de palabras con Excel.

¿Cómo crear una nube de palabras en Excel?

Puede descargar esta plantilla de Excel de Word Cloud aquí - Plantilla de Excel de Word Cloud

Para crear una nube de palabras en Excel, necesitamos tener datos de palabras y cuáles son los colores que necesitamos para esas palabras. Suponga que está creando una nube de palabras de 30 fórmulas de Excel. Así que haz una lista de 30 fórmulas de Excel en la hoja de trabajo.

Escriba las fórmulas anteriores en su hoja de trabajo en la primera columna.

Una vez que escriba los nombres de las fórmulas anteriores en la columna B, aplique la función RANDBETWEEN para las 30 fórmulas de la siguiente manera y mantenga el valor inferior como 1 y el valor superior como 250.

Una vez que los datos estén listos, debemos dirigirnos al Editor de Visual Basic. Cree un formulario de usuario como el siguiente en VBA.

Ahora necesitamos configurar el formulario de usuario en VBA, aquí para cada botón necesitamos escribir código. A continuación se muestra el código de cada botón.

Haga doble clic en el botón "Colores diferentes" del formulario de usuario anterior y agregue el código a continuación.

Código:

 Private Sub CommandButton1_Click () ColorCopeType = 0 Unload Me 'Esto es para un color diferente End Sub 

Luego, haga doble clic en el botón de color negro y agregue el siguiente código.

Código:

 Private Sub CommandButton2_Click () ColorCopeType = 1 Unload Me 'Esto es para color negro End Sub 

Del mismo modo, para todos los demás botones, agregue los siguientes códigos.

Código:

 Private Sub CommandButton3_Click () ColorCopeType = 2 Unload Me 'Esto es para el color rojo End Sub Private Sub CommandButton4_Click () ColorCopeType = 3 Unload Me' Esto es para el color verde End Sub Private Sub CommandButton5_Click () ColorCopeType = 4 Unload Me 'Esto es para color azul End Sub Private Sub CommandButton6_Click () ColorCopeType = 5 Unload Me 'Esto es para el color amarillo End Sub Private Sub CommandButton7_Click () ColorCopeType = 6 Unload Me' Esto es para el color blanco End Sub 

Una vez que configuramos el código, necesitamos declarar la variable en el módulo en la parte superior.

Ahora necesitamos escribir un código para crear una nube de palabras que sea extensa. A continuación se muestra el código.

Código:

Sub word_cloud () Dim WordCloud como rango Dim x como entero, y como entero Dim ColumnA como rango, columnaB como rango dim WordCount como entero Dim ColumCount como entero, RowCount como entero Dim WordColumn como entero, WordRow como entero Dim plotarea como rango, c Como rango, d Como rango, e Como rango, f Como rango, g Como rango, dim z Como entero, w Como entero Dim plotareah1 Como rango, plotareah2 Como rango, ficticio Como rango Dim q Como entero, v Como entero Dim RedColor como entero , GreenColor como entero, BlueColor como entero UserForm1.Show WordCount = -1 Establecer WordCloud = Sheets ("Word Cloud"). Range ("B2: H7") ColumnCount = WordCloud.Columns.Count RowCount = WordCloud.Rows.Count para cada ColumnaA en hojas ("Lista de fórmulas"). Rango ("A: A") Si ColumnA.Value = ""Luego salga para el resto WordCount = WordCount + 1 End If Next ColumnA Seleccione Case WordCount Case WordCount = 0 a 20 WordColumn = WordCount / 5 Case WordCount = 21 a 40 WordColumn = WordCount / 6 Case WordCount = 41 a 40 WordColumn = WordCount / 8 Case WordCount = 80 a 9999 WordColumn = WordCount / 10 Fin Seleccionar WordRow = WordCount / WordColumn x = 1 Establecer c = Hojas ("Nube de palabras"). Rango ("A1"). Desplazamiento ((RowCount / 2 - WordRow / 2), (ColumnCount / 2 - WordColumn / 2)) Establecer d = Hojas ("Nube de palabras"). Rango ("A1"). Desplazamiento ((RowCount / 2 + WordRow / 2), (ColumnCount / 2 + WordColumn / 2)) Establecer plotarea = Hojas ("Nube de palabras"). Rango (Hojas ("Nube de palabras"). Celdas (c.Row, c.Column), Sheets ("Word Cloud"). Cells (d.Row, d.Column) ) Para cada e In plotarea e.Value = Hojas ("Lista de fórmulas"). Rango ("A1 "). Desplazamiento (x, 0) .Valor e.Font.Size = 8 + Hojas (" Lista de fórmulas "). Rango (" A1 "). Desplazamiento (x, 0) .Desplazamiento (0, 1) .Valor / 4 Seleccione Case ColorCopeType Case 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Case 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 Fin Seleccione e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 Si e.Value = "" Luego salga para el final si sigue e plotarea.Columns.AutoFit End SubLista de fórmulas "). Rango (" A1 "). Desplazamiento (x, 0). Desplazamiento (0, 1) .Valor / 4 Seleccionar caso ColorCopeType Caso 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Case 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Seleccione e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e. VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Entonces Salir para Fin Si Siguiente e plotarea.Columns.AutoFit End SubLista de fórmulas "). Rango (" A1 "). Desplazamiento (x, 0). Desplazamiento (0, 1) .Valor / 4 Seleccionar caso ColorCopeType Caso 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Case 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Seleccione e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e. VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Entonces Salir para Fin Si Siguiente e plotarea.Columns.AutoFit End SubValor / 4 Seleccione Case ColorCopeType Case 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Case 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Case 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Case 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Seleccione e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 Si e.Value = "" Entonces salga para el final si sigue e plotarea.Columns. AutoFit End SubValor / 4 Seleccionar caso ColorCopeType Caso 0 RedColor = (255 * Rnd) + 1 GreenColor = (255 * Rnd) + 1 BlueColor = (255 * Rnd) + 1 Caso 1 RedColor = 0 GreenColor = 0 BlueColor = 0 Caso 2 RedColor = 255 GreenColor = 0 BlueColor = 0 Case 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Case 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Seleccione e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 Si e.Value = "" Entonces salga por el final si sigue e plotarea.Columns. AutoFit End SubAutoFit End SubAutoFit End SubHorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 Si e.Value = "" Entonces Salir para Finalizar Si Siguiente e plotarea.Columns.AutoFit End SubHorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 Si e.Value = "" Entonces Salir para Finalizar Si Siguiente e plotarea.Columns.AutoFit End Sub

Copie y pegue el código anterior en su módulo. La hoja de trabajo que tiene una lista de fórmulas debe denominarse "Lista de fórmulas". Luego inserte una nueva hoja de trabajo en Excel y asígnele el nombre "Nube de palabras".

En la hoja recién insertada, ajuste el Zoom al 40% y ajuste la altura de la fila a 85.

Entonces, ahora ejecute el código en VBA presionando el botón F5, verá el color que elige el formulario de usuario.

Elija el color que desee, si no desea un solo color, elija la opción "Colores diferentes". Obtendremos la nube de palabras en la hoja "Nube de palabras".

Así, usando la codificación VBA, podemos crear Word Cloud.