Evento Click de Uma Forma  [Resolvido]

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Evento Click de Uma Forma

Mensagempor klarc28 » Seg Jan 20, 2020 3:15 pm

Sei que é possível atribuir uma macro a uma forma.
Mas o que eu gostaria de fazer é inserir uma forma na planilha e criar o evento Click dessa forma, para que ela funcionasse como botão.
Repito: sei que é possível inserir a forma e atribuir uma macro, mas não quero assim.
Gostaria de ver o evento click dessa forma do mesmo jeito que posso ver o evento click de um botão.
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.
klarc28
Membro
Membro
 
Mensagens: 1321
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 33 times
Have thanks: 552 times

{ SO_SELECT }

Re: Evento Click de Uma Forma  [Resolvido]

Mensagempor Coutinho » Seg Jan 20, 2020 4:06 pm

Klarc, é o seguinte, se está se referindo as formas tipo "retangulo, quadrado, circulo, etc", esse tipo de shape não possui o Evento CLICK, somente pode atribuir macro a eles, os Shapes do tipo AxtiveX esses sim temos o Evento Click.

Se for referente aos primeiros, voce pode testar essa rotina :

Fonte: http://www.vbaexpress.com/forum/showthr ... on-a-shape
Código: Selecionar todos
Sub Draw_Shapes()
Dim sh As Shape
    For Each sh In ActiveSheet.Shapes
        sh.Delete
    Next
ActiveSheet.Shapes.AddShape(1, Left:=ThisWorkbook.Application.Range("A1").Left + 10, Top:=ThisWorkbook.Application.Range("A1").Top + 2, Width:=50, Height:=50).Select
Selection.Name = "GreyShape"
Selection.OnAction = " My_Color_Is_Grey"
   
    With Selection.ShapeRange.Line
        .Visible = msoTrue
        .Weight = 1
    End With
   
    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(150, 150, 150)
        .Transparency = 0
        .Solid
    End With
   
ActiveSheet.Shapes.AddShape(1, Left:=ThisWorkbook.Application.Range("E1").Left + 10, Top:=ThisWorkbook.Application.Range("E1").Top + 2, Width:=100, Height:=50).Select

Selection.OnAction = "Activate_MyColorIsGrey"

    With Selection.ShapeRange.Line
        .Visible = msoTrue
        .Weight = 1
    End With

    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
        .Solid
    End With
End Sub


Sub My_Color_Is_Grey()
    MsgBox "My color is Grey"
End Sub

Sub Activate_MyColorIsGrey()
    ActiveSheet.Shapes("GreyShape").Select
End Sub


[]s
Mauro Coutinho
Mauro Coutinho
com novo usuário devido a manutenção do grupo

For this post the author Coutinho thanked:
klarc28 (Seg Jan 20, 2020 4:23 pm)
Coutinho
Ninja do Excel
Ninja do Excel
 
Mensagens: 137
Registrado em: Qua Jun 12, 2019 6:18 pm
Has thanked: 6 times
Have thanks: 64 times


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Google [Bot] e 2 visitantes