Intervalos e formulário de usuário do Excel VBA - Macros fáceis do Excel

Índice

Você pode usar um Controle RefEdit em Excel VBA para obter um intervalo de um usuário. O Userform vamos criar cores o valor mínimo do alcance armazenado no controle RefEdit.

Para criar este formulário de usuário, execute as seguintes etapas.

1. Abra o Editor do Visual Basic. Se o Project Explorer não estiver visível, clique em View, Project Explorer.

2. Clique em Inserir, Formulário do usuário. Se a caixa de ferramentas não aparecer automaticamente, clique em Exibir, Caixa de ferramentas. Sua tela deve ser configurada conforme abaixo.

3. Adicione o rótulo, controle RefEdit e botões de comando. Depois de concluído, o resultado deve ser consistente com a imagem do formulário do usuário mostrada anteriormente. Por exemplo, crie um controle RefEdit clicando em RefEdit na caixa de ferramentas. Em seguida, você pode arrastar um controle RefEdit no formulário de usuário.

Nota: Se sua caixa de ferramentas não tiver um controle RefEdit, defina uma referência para o controle RefEdit. Clique em Tools, References e marque Ref Edit Control.

4. Você pode alterar os nomes e as legendas dos controles. Os nomes são usados ​​no código VBA do Excel. As legendas são aquelas que aparecem na tela. É uma boa prática alterar os nomes dos controles, mas não é necessário aqui porque temos apenas alguns controles neste exemplo. Para alterar a legenda do formulário do usuário, rótulo e botões de comando, clique em Exibir, Janela de propriedades e clique em cada controle.

5. Para mostrar o formulário de usuário, coloque um botão de comando em sua planilha e adicione a seguinte linha de código:

Private Sub CommandButton1_Click ()
UserForm1.Show
End Sub

Agora vamos criar o Sub UserForm_Initialize. Quando você usa o método Show para o formulário do usuário, este sub será executado automaticamente.

6. Abra o Editor do Visual Basic.

7. No Project Explorer, clique com o botão direito do mouse em UserForm1 e clique em View Code.

8. Escolha Userform na lista suspensa à esquerda. Escolha Inicializar na lista suspensa à direita.

9. Adicione as seguintes linhas de código:

Sub UserForm_Initialize privado ()
Sheet1.Cells.Font.Color = vbBlack
UserForm1.RefEdit1.Text = Selection.Address
End Sub

Explicação: a primeira linha de código altera a cor da fonte de todas as células na planilha1 para preto. A segunda linha de código obtém o endereço da seleção atual e o exibe no controle RefEdit.

Agora criamos a primeira parte do formulário de usuário. Embora já pareça legal, nada acontecerá ainda quando clicarmos nos botões de comando no formulário do usuário.

10. No Project Explorer, clique duas vezes em UserForm1.

11. Clique duas vezes no botão Ir.

12. Adicione as seguintes linhas de código:

Private Sub CommandButton1_Click ()
Dim addr As String, rng, cell As Range, mínimo As Double
addr = RefEdit1.Value
Definir rng = intervalo (addr)
mínimo = WorksheetFunction.Min (rng)
Para cada célula em rng
Se cell.Value = minimum Then cell.Font.Color = vbRed
Próxima célula
End Sub

Explicação: primeiro, obtemos o endereço do controle RefEdit e o armazenamos na variável addr da String. Em seguida, definimos rng para o intervalo especificado no controle RefEdit. Em seguida, usamos a função de planilha Min para encontrar o valor mínimo no intervalo. Finalmente, colorimos o (s) valor (es) mínimo (s) usando um loop.

13. Clique duas vezes no botão Cancelar.

14. Adicione a seguinte linha de código:

Private Sub CommandButton2_Click ()
Descarregue-me
End Sub

Explicação: esta linha de código fecha o formulário do usuário quando você clica no botão Cancelar.

15. Teste o formulário do usuário.

Resultado:

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave