24.08.2020 Views

Programando o Excel ® Vba Para Leigos - 2ª Ed 2013 NoDRM (1)

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

302 Parte IV: Como se Comunicar com Seus Usuários

Este exemplo supõe o seguinte:

55

Você tem um UserForm chamado UserForm1.

55

O UserForm contém um controle botão de comando chamado

OKButton.

55

O UserForm contém um controle botão de comando chamado

CancelButton.

55

O UserForm contém um controle RefEdit chamado RefEdit1.

O código é armazenado em um módulo VBA e mostrado aqui. Este

código faz duas coisas: inicializa a caixa de diálogo, designando o

endereço da região atual ao controle RefEdit e exibe o UserForm.

Sub BoldCells()

‘ Sair se a pasta de trabalho não estiver ativa

If TypeName(ActiveSheet) <> “Worksheet” Then _

Exit Sub

‘ Selecione a região atual

ActiveCell.CurrentRegion.Select

‘ Inicialize o controle RefEdit

UserForm1.RefEdit1.Text = Selection.Address

‘ Mostrar caixa de diálogo

UserForm1.Show

End Sub

O seguinte procedimento é executado quando o botão OK é clicado.

Este procedimento executa uma simples verificação de erro para

garantir que a faixa especificada no controle RefEdit seja válida.

Private Sub OKButton_Click()

On Error GoTo BadRange

Range(RefEdit1.Text).Font.Bold = True

Unload UserForm1

Exit Sub

BadRange:

MsgBox “A faixa especificada não é válida.”

End Sub

Se ocorrer um erro (mais provavelmente uma especificação inválida de

faixa no controle RefEdit), o código pula para a etiqueta BadRange e é

exibida uma caixa de mensagem. A caixa de diálogo permanece aberta

para que o usuário possa selecionar outra faixa.

Usando múltiplos conjuntos de Botões de opção

A Figura 18-7 mostra uma caixa de diálogo personalizada com três

conjuntos de botões de opção. Se o seu UserForm contiver mais do que

um conjunto de botões, assegure-se de que cada conjunto trabalhe

como um grupo. Você pode fazer isso em uma de duas maneiras:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!