0024-Utilizando eventos do Excel – Parte 2

Vamos ver agora outros exemplos, utilizando o evento Worksheet_Change

O objetivo neste exemplo é colorir qualquer célula alterada que esteja no intervalo A1:C50 da planilha. A célula ficará colorida em vermelho com a fonte formatada para a cor branca.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rgFormat As Range
Dim rgInter  As Range

'Intervalo dentro do qual será realizada a formatação
Set rgFormat = ActiveSheet.[A1:C50]

'É obtida a intersecção da célula alterada com o intervalo rgFormat
Set rgInter = Application.Intersect(Target, rgFormat)

'Se houver a intersecção, ou seja se Target pertencer ao intervalo
'rgFormat, a célula será colorida de vermelho e a fonte será
'formatada para a cor branca
If Not rgInter Is Nothing Then
Target.Interior.Color = vbRed
Target.Font.Color = vbWhite
End If

End Sub

No próximo exemplo, iremos colocar em letras maiúsculas qualquer valor de texto inserido nas células do intervalo A1:C50. É importante observar a utilização da linha de comando

Application.EnableEvents = False

Como o código altera o conteúdo da célula, é necessário que desabilitemos os eventos, pois caso contrário cria-se um loop infinito, pois a alteração dispara um novo evento.

Também é importante lembrar que os eventos devem ser reabilitados antes do término da execução do código, ou poderemos afetar outras funcionalidades do arquivo.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rgCaps As Range
Dim rgInter  As Range

'Intervalo dentro do qual será realizada a formatação
Set rgCaps = ActiveSheet.[A1:C50]

'É obtida a intersecção da célula alterada com o intervalo rgChange
Set rgInter = Application.Intersect(Target, rgCaps)

'Se houver a intersecção, ou seja se Target pertencer ao intervalo
'rgChange, os eventos são desabilitados
If Not rgInter Is Nothing Then
Application.EnableEvents = False

'Em seguida o conteúdo de Target é colocado em maiúsculas
Target = UCase(Target)

'Finalmente os eventos são reabilitados
Application.EnableEvents = True

End If

End Sub
Anúncios

In Excel We Trust

Marcado com: , ,
Publicado em Nível: Avançado

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Visitas dos usuários
  • 2,074,858

Clique para assinar este blog e receber notificações de novos artigos por email.

Junte-se a 1.536 outros seguidores

Aumente sua interação

Siga-nos do twitter (@usuariosdoexcel).

Acesse o nosso fórum e compartilhe as suas dúvidas.

Curta nossa página no Facebook.

Junte-se ao grupo do LinkedIn.

Visite-nos utilizando o seu smartphone ou tablet.

Recomende este Blog
Visualizar notícias
Site monitorado:
Real Time Web Analytics

Clicky

%d blogueiros gostam disto: