Página 1 de 1

Macro para mudar a cor de uma forma a ser selecionada pelo usuário

Enviado: 08 Jan 2021 às 11:13
por dgomedeiros
Pessoal, bom dia!

Estou Elaborando uma planilha/programa e me deparei com uma situação que não consegui resolver.
Preciso criar uma macro que ao clicar em um botão (desativar conta) o Excel deverá pedir ao usuário que selecione uma forma - que está preenchida com o número de uma conta e hiperlinkada para uma aba - então ele mudará o estilo da forma para o msoShapeStylePreset31 e mudará também o texto dela para tachado. Indicando que a conta foi encerrada.

Sei que é possível fazer usando gravar macro, mas como tenho várias formas na mesma planilha, a seleção da conta a ser desativada deve ser feita pelo usuário não sei como fazer a opção de selecionar.

Re: Macro para mudar a cor de uma forma a ser selecionada pelo usuário

Enviado: 08 Jan 2021 às 13:14
por osvaldomp
dgomedeiros escreveu: 08 Jan 2021 às 11:13 ... ao clicar em um botão ... o Excel deverá pedir ao usuário que selecione uma forma - ... então ele mudará o estilo da forma
Eu sugiro outra sequência: o usuário seleciona a Forma e roda a macro que irá formatá-la. ;)

Sei que é possível fazer usando gravar macro,...a seleção ... deve ser feita pelo usuário
Sugestão: grave uma macro e depois de testá-la coloque aqui o código gravado para os convenientes ajustes.

Re: Macro para mudar a cor de uma forma a ser selecionada pelo usuário

Enviado: 08 Jan 2021 às 14:09
por dgomedeiros
osvaldomp escreveu: 08 Jan 2021 às 13:14
dgomedeiros escreveu: 08 Jan 2021 às 11:13 ... ao clicar em um botão ... o Excel deverá pedir ao usuário que selecione uma forma - ... então ele mudará o estilo da forma
Eu sugiro outra sequência: o usuário seleciona a Forma e roda a macro que irá formatá-la. ;)

Sei que é possível fazer usando gravar macro,...a seleção ... deve ser feita pelo usuário
Sugestão: grave uma macro e depois de testá-la coloque aqui o código gravado para os convenientes ajustes.

A macro que criei foi essa aqui. Só preciso que agora permita fazer a seleção da forma que precisa ser formatada.

Sub DesativarConta()
'
' DesativarConta Macro
' Desativa uma conta mudando a cor da forma e colocando o texto como tachado.
'

'
ActiveSheet.Shapes.Range(Array("Round Single Corner Rectangle 3")).Select
Selection.ShapeRange.ShapeStyle = msoShapeStylePreset31
With Selection.ShapeRange.TextFrame2.TextRange.Font
.BaselineOffset = 0
.Strike = msoSingleStrike
End With
End Sub

Re: Macro para mudar a cor de uma forma a ser selecionada pelo usuário

Enviado: 08 Jan 2021 às 15:00
por dgomedeiros
Esta macro fez aproximadamente o que eu precisava. Então deixo aqui para a prosperidade.


Sub DesativarConta()

Dim objname

On Error GoTo CheckErrors
If ActiveWindow.Selection.ShapeRange.Count = 0 Then
MsgBox ("Você precisa selecionar uma forma em primeiro lugar")
Exit Sub
End If
objname = ActiveWindow.Selection.ShapeRange(1).Name
objname = InputBox("Insira a data da desativação", "Renomear Shape", objname)
If objname <> "" Then
ActiveWindow.Selection.ShapeRange(1).Name = objname
Selection.ShapeRange.ShapeStyle = msoShapeStylePreset31
With Selection.ShapeRange.TextFrame2.TextRange.Font
.BaselineOffset = 0
.Strike = msoSingleStrike
End With

End If

Exit Sub

CheckErrors:
MsgBox ("Selecione a conta a ser desativada clicando com o botão direito. Então clique em DESATIVAR CONTA")

End Sub