Compartilhar via

Blinking através de VBA ou por outro método

Anônima
2023-03-23T20:05:05+00:00

Vivam!

Condições:

C1 - Em C4:C15 são inseridos valores numéricos;

C2 - Em B4:B15 são inseridos os textos identificativos dos referidos valores;

C3 - Em B19 Está o cálculo de 5% do somatório dos valores que vão sendo inseridos.

Pretensão:

P1 - Que ao carregar um novo valor numérico, após ENTER, tanto o valor numérico como o texto correspondente pisquem duas ou três vezes se o novo valor for inferior a 5% [B19] do total já inserido.

Antecipadamente agradecido.

an

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Dio Xavier 286.5K Pontos de reputação Moderador Voluntário
2023-03-23T20:13:24+00:00

Olá

Bem vindo novamente.

Segue abaixo um exemplo de código VBA que pode ser usado para atender à sua pretensão:

vbnet<br><br><br><br> Private Sub Worksheet_Change(ByVal Target As Range)<br> Dim total As Double<br> Dim limiar As Double<br> Dim i As Integer<br> <br> 'define a faixa de valores que serão avaliados<br> Set rangeToCheck = Range("C4:C15")<br> <br> 'calcula o total dos valores na faixa<br> total = Application.WorksheetFunction.Sum(rangeToCheck)<br> <br> 'calcula o limiar de 5%<br> limiar = Range("B19").Value * 0.05<br> <br> 'verifica se a célula alterada está na faixa de valores<br> If Not Intersect(Target, rangeToCheck) Is Nothing Then<br> 'verifica se o valor inserido é menor que o limiar de 5%<br> If Target.Value < limiar Then<br> 'pisca a célula duas vezes<br> For i = 1 To 2<br> Target.Interior.ColorIndex = 3 'cor vermelha<br> Application.Wait (Now + TimeValue("0:00:01")) 'espera 1 segundo<br> Target.Interior.ColorIndex = xlNone 'remove a cor<br> Application.Wait (Now + TimeValue("0:00:01")) 'espera 1 segundo<br> Next i<br> End If<br> End If<br> End Sub <br> ---

Este código avalia a célula que foi alterada e verifica se ela está na faixa de valores que deseja avaliar (C4:C15). Em seguida, ele calcula o total dos valores nessa faixa e o limiar de 5% (B19 * 0.05).

Se o valor inserido for menor que o limiar de 5%, o código pisca a célula duas vezes, colorindo-a em vermelho por 1 segundo e, em seguida, removendo a cor por mais 1 segundo.

Para usar este código em sua planilha, abra a janela do Visual Basic Editor (pressionando Alt + F11) e adicione este código na planilha correspondente. Certifique-se de salvar a planilha como um arquivo habilitado para macros (.xlsm ou .xlsb).

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários

1 resposta adicional

Classificar por: Mais útil
  1. Anônima
    2023-03-23T20:59:49+00:00

    Dio Xavier,

    Uma vez mais, o meu reconhecimento pelo saber!

    Funciona na perfeição.

    Obrigado e continuação de sucesso!.

    an

    Esta resposta foi útil?

    0 comentários Sem comentários