Nuvem de palavras no Excel

Nuvem de palavras também é conhecida como nuvem de tags em excel que é uma representação visual de texto em excel em diferentes cores ou formatos, em uma nuvem de palavras a frequência da representação do trabalho é definida pela fonte da palavra, isto é feito usando o recurso de formas e arte inteligente do Excel.

O que é Word Cloud no Excel?

Word Cloud é a coleção de palavras para mostrar na forma de visualização no Excel. Espero que você tenha visto alguns dos melhores painéis com números e visualizações criativas no Excel. Os painéis variam de fontes elegantes com cores atraentes e algumas imagens fantásticas. Um dos painéis peculiares que você deve ter visto com “Word Cloud” . Parece uma imagem baixada de um software sofisticado, mas não é baixado de nenhum lugar, mas sim criado com a codificação Excel VBA. Sim!!! Você está correto, ele foi criado pela codificação VBA e, neste artigo, mostraremos como criar uma nuvem de palavras com o Excel.

Como criar uma nuvem de palavras no Excel?

Você pode baixar este Word Cloud Excel Template aqui - Word Cloud Excel Template

Para criar uma nuvem de palavras no Excel, precisamos ter os dados das palavras e quais são as cores de que precisamos para essas palavras. Suponha que você esteja criando uma nuvem de palavras de 30 fórmulas do Excel. Portanto, faça uma lista de 30 fórmulas do Excel na planilha.

Escreva as fórmulas acima em sua planilha na primeira coluna.

Depois de escrever os nomes das fórmulas acima na coluna B, aplique a função RANDBETWEEN para todas as 30 fórmulas como segue e mantenha o valor inferior como 1 e o valor superior como 250.

Assim que os dados estiverem prontos, precisamos ir ao Editor do Visual Basic. Crie um formulário de usuário como o abaixo no VBA.

Agora precisamos configurar o formulário do usuário no VBA, aqui para cada botão precisamos escrever o código. Abaixo está o código de cada botão.

Clique duas vezes no botão “Cores Diferentes” no formulário do usuário acima e adicione o código abaixo.

Código:

 Private Sub CommandButton1_Click () ColorCopeType = 0 Unload Me 'Isto é para uma cor diferente End Sub 

Em seguida, clique duas vezes no botão de cor preta e adicione o código abaixo.

Código:

 Private Sub CommandButton2_Click () ColorCopeType = 1 Unload Me 'Isto é para a cor preta End Sub 

Da mesma forma, para todos os outros botões, adicione os códigos abaixo.

Código:

 Private Sub CommandButton3_Click () ColorCopeType = 2 Unload Me 'Isto é para a cor vermelha End Sub Private Sub CommandButton4_Click () ColorCopeType = 3 Unload Me' Isto é para a cor verde End Sub Private Sub CommandButton5_Click () ColorCopeType = 4 Unload Me 'Isto é para cor azul End Sub Private Sub CommandButton6_Click () ColorCopeType = 5 Unload Me 'Isto é para a cor amarela End Sub Private Sub CommandButton7_Click () ColorCopeType = 6 Unload Me' Isto é para a cor branca End Sub 

Depois de configurar o código, precisamos declarar a variável no módulo superior.

Agora precisamos escrever um código para criar uma nuvem de palavras que seja longa. Abaixo está o código.

Código:

Sub word_cloud () Dim WordCloud As Range Dim x As Integer, y As Integer Dim ColumnA As Range, ColumnB As Range Dim WordCount As Integer Dim ColumCount As Integer, RowCount As Integer Dim WordColumn As Integer, WordRow As Integer Dim plotarea As Range, c As Range, d As Range, e As Range, f As Range, g As Range Dim z As Integer, w As Integer Dim plotareah1 As Range, plotareah2 As Range, dummy As Range Dim q As Integer, v As Integer Dim RedColor As Integer , GreenColor As Integer, BlueColor As Integer UserForm1.Show WordCount = -1 Set WordCloud = Sheets ("Word Cloud"). Range ("B2: H7") ColumnCount = WordCloud.Columns.Count RowCount = WordCloud.Rows.Count For Each Coluna A em planilhas ("Lista de fórmulas"). Intervalo ("A: A") Se ColunaA.Value = ""Em seguida, saia para outro WordCount = WordCount + 1 End If Next ColumnA Selecione 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 End Select WordRow = WordCount / WordColumn x = 1 Set c = Sheets ("Word Cloud"). Range ("A1"). Offset ((RowCount / 2 - WordRow / 2), (ColumnCount / 2 - WordColumn / 2)) Set d = Sheets ("Word Cloud"). Range ("A1"). Offset ((RowCount / 2 + WordRow / 2), (ColumnCount / 2 + WordColumn / 2)) Definir plotarea = Sheets ("Word Cloud"). Range (Sheets ("Word Cloud"). Cells (c.Row, c.Column), Sheets ("Word Cloud"). Cells (d.Row, d.Column) ) For Each e In plotarea e.Value = Sheets ("Formula List"). Range ("A1 "). Offset (x, 0) .Value e.Font.Size = 8 + Sheets (" Formula List "). Range (" A1 "). Offset (x, 0) .Offset (0, 1) .Value / 4 Selecione 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 Caso 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Caso 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Caso 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Select e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End SubLista de fórmulas "). Intervalo (" A1 "). Offset (x, 0) .Offset (0, 1) .Value / 4 Selecione Case ColorCopeType Case 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 Caso 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Caso 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Select e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e. VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End SubLista de fórmulas "). Intervalo (" A1 "). Offset (x, 0) .Offset (0, 1) .Value / 4 Selecione Case ColorCopeType Case 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 Caso 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Caso 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Case 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Select e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e. VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End SubValor / 4 Selecione 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 Caso 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Caso 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Caso 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Select e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns. AutoFit End SubValor / 4 Selecione 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 Caso 3 RedColor = 0 GreenColor = 255 BlueColor = 0 Caso 4 RedColor = 0 GreenColor = 0 BlueColor = 255 Case 5 RedColor = 255 GreenColor = 255 BlueColor = 100 Caso 6 RedColor = 255 GreenColor = 255 BlueColor = 255 End Select e.Font.Color = RGB (RedColor, GreenColor, BlueColor) e.HorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns. AutoFit End SubAutoFit End SubAutoFit End SubHorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End SubHorizontalAlignment = xlCenter e.VerticalAlignment = xlCenter x = x + 1 If e.Value = "" Then Exit For End If Next e plotarea.Columns.AutoFit End Sub

Copie e cole o código acima no seu módulo. A planilha que contém uma lista de fórmulas deve ser nomeada como “Lista de fórmulas”. Em seguida, insira uma nova planilha no Excel e nomeie como “Word Cloud”.

Na folha recém-inserida, ajuste o Zoom para 40% e ajuste a altura da linha para 85.

Então, agora execute o código em VBA pressionando o botão F5, você verá o formulário do usuário escolhendo a cor.

Escolha a cor que desejar, caso não queira uma única cor escolha a opção “Cores Diferentes”. Obteremos a nuvem de palavras na planilha “Nuvem de palavras”.

Assim, usando codificação VBA, podemos criar Word Cloud.