VBA – Desenhar Caixas de Forma Programática com Código

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on September 11, 2023

VBA Desenhar Caixas com Código

Há muitos motivos para você querer desenhar caixas de forma programática. Um gráfico de Gantt automatizado seria legal? Aqui está uma maneira de fazer isso.

Este é o código básico para desenhar uma caixa:



ActiveSheet.Shapes.AddShape _ 
(msoShapeFlowchartProcess, 0, 0, 48, 12.75).Select

 Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11

 Selection.ShapeRange.Fill.Solid

 Selection.ShapeRange.Fill.Visible = msoTrue

Realmente não é tão assustador, há apenas duas coisas notáveis a serem observadas: Schemecolor é obviamente a cor e 0,0,48,12.75.

Então, o que é o 0,0,48,12.75? Simplesmente a posição esquerda, a posição superior, a largura e a altura. Você pode ajustá-los como quiser, ajustando os dois primeiros para alterar a posição das caixas na tela e os dois últimos para alterar o tamanho da caixa. Usei essas dimensões porque eram uma boa estimativa para fazer uma caixa do mesmo tamanho de uma célula.

Dynamic Boxes

E aqui está o código usado para desenhar dinamicamente as caixas verdes na imagem acima:



Sub CaixasDinamicas()

   

    Dim x As Double

   

    'Isso cria caixas horizontais

    For x = 0 To 240 Step 48

   

       'referência aos 4 números left, top, width, height

       ActiveSheet.Shapes.AddShape _
       (msoShapeFlowchartProcess, x, 0, 48, 12.75).Select

       Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11

       Selection.ShapeRange.Fill.Solid

       Selection.ShapeRange.Fill.Visible = msoTrue



    Next x



    'Isso cria caixas verticais

    For x = 0 To 127.5 Step 12.75



      ActiveSheet.Shapes.AddShape _
      (msoShapeFlowchartProcess, 0, x, 48, 12.75).Select

      Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11

      Selection.ShapeRange.Fill.Solid

      Selection.ShapeRange.Fill.Visible = msoTrue



    Next x



End Sub

Codificação VBA facilitada

Pare de procurar códigos VBA on-line. Saiba mais sobre o AutoMacro – um construtor de código VBA que permite que os iniciantes codifiquem procedimentos do zero com o mínimo de conhecimento de codificação e com muitos recursos que economizam tempo para todos os usuários!

alt text

Saiba mais!

<<Retornar aos exemplos de VBA

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA