Divertidamente Excel

Arnaldo Gunzi
3 min readJul 9, 2024

--

Neste mês de férias escolares, vi que a capa da trilha sonora do filme Divertidamente (o antigo, não o novo) é como a seguinte.

Dá para criar facilmente uma versão em VBA. Veja como.

No VBA, o comando para inserir um shape é:

ActiveSheet.Shapes.AddShape(msoShapeOval, x, y, raio, raio)

Posso encapsular o comando numa função, a fim de dar a posição e ela traçar um shape circular.

Private Sub addCirculo(x, y, raio)

ActiveSheet.Shapes.AddShape(msoShapeOval, x — raio, y — raio, 2 * raio, 2 * raio).Select

end sub

A seguir, mando criar um grid de shapes de 10 x 10:

Sub Divertidamente()

Dim x As Single

Dim y As Single

Dim tamanho As Single

Dim i As Integer, j As Integer

tamanho = 10 ‘pixels

Application.ScreenUpdating = False

‘Deleta shapes atuais

Call delshapes

For i = 1 To 10

For j = 1 To 10

x = 50 + (2 * tamanho + 4) * i

y = 50 + (2 * tamanho + 4) * j

addCirculo x, y, tamanho

Next j

Next i

End Sub

O problema é que os shapes serão sempre da cor default, no caso, azul.

Quero que as cores sejam das cores do Divertidamente: amarelo, roxo, azul, verde, vermelho e cinza.

É possível controlar as cores através de um código como o seguinte.

With Selection.ShapeRange.Fill

.Visible = msoTrue

.ForeColor.RGB = RGB(r, g, b)

.Transparency = 0

.Solid

End With

Para encontrar o código RGB das cores desejadas, é só consultar no site a seguir.

RGB Color Codes Chart 🎨 (rapidtables.com)

Por exemplo, o amarelo tem código (255,255,0) e o azul (0, 0, 255).

A seguir, para cada shape circular, sorteio uma das cores (incluindo preto, para dar ilusão de que está vazio).

‘sorteia a cor

idx = Application.WorksheetFunction.RandBetween(1, 7)

Select Case idx

Case 1:

‘Amarelo

r = 255

g = 255

b = 0

Case 2:

‘Azul

r = 0

g = 0

b = 255

etc…

Vide a planilha no Github ( https://github.com/asgunzi/DivertidamenteExcel). É necessário ativar macros para rodar.

Todas as vezes que rodar, vai dar um resultado diferente.

Talvez seja necessário desbloquear a planilha. Quando confiamos na fonte que gerou a mesma, podemos fazer o seguinte:

- Clicar no arquivo com o botão direito do mouse, em propriedades

- Desbloquear o arquivo, conforme mostrado abaixo

Originally published at http://ferramentasexcelvba.wordpress.com on July 9, 2024.

--

--

Arnaldo Gunzi
Arnaldo Gunzi

Written by Arnaldo Gunzi

Project Manager - Advanced Analytics, AI and Quantum Computing. Sensei of Analytics.

No responses yet