/ / Como destacar uma célula quando o resultado da fórmula de outra folha muda? - excel, vba, excel-vba

Como destacar uma célula quando o resultado da fórmula de outra folha muda? - excel, vba, excel-vba

Este é um que está me matando e eu tentei quase todas as soluções na Internet.

Aqui está o fundo. Eu tenho um modelo de RH que tem cada departamento dividido em guias separadas. Quero executar um extrato do nosso sistema de folha de pagamento em cada execução da folha de pagamento e enviar as atualizações individualmente. Se o título, o salário ou o status de alguém mudar, quero que isso seja chamado, destacando a célula.

Cada guia usa uma consulta INDEX / MATCH para a guia de extração para extrair as informações atuais. O que eu quero é que se algum valor mudar ou for novo (novo contratado, por exemplo), destaque as células.

Eu joguei com Worksheet_Calculate eWorksheet_Change sem sucesso. Worksheet_Change não dispara porque eu não estou fazendo a alteração diretamente na planilha e Worksheet_Calculate não tem o objeto de destino para referência. Eu tentei o seguinte código:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim updatedCell As Range
Set updatedCell = Range(Target.Dependents.Address)

If Not Intersect(updatedCell, Range("A:A")) Is Nothing Then
updatedCell.Interior.ColorIndex = 3
End If

End Sub

O intervalo que eu realmente preciso avaliar é A7: R104, mas eu tenho tentado fazer qualquer coisa funcionar quando ligado a outra planilha.

Isso funciona bem se a fórmula da célula alvo forapontando para outra célula na mesma folha. No momento em que você aponta para uma em outra planilha, ela não funciona. Eu já experimentei a maioria das soluções aqui sem sucesso. Eu até tentei colocar o Worksheet_Change na folha de extração e ver se consigo ativá-lo dessa maneira sem sorte.

Existe uma solução recomendada para acionar uma alteração em uma célula para uma fórmula vinculada a outra folha?

Respostas:

0 para resposta № 1

então eu acabei de ver este post, eu não sei se você encontrou a solução ou ainda está procurando, mas:

se você selecionar uma célula na folha 3, você pode então irna aba inicial, vá para "formatação condicional" - marque as regras das células - mais regras (na parte inferior) - e "use fórmulas para determinar quais células devem ser formatadas" e coloque o cursor na caixa de fórmulas. Agora, selecione uma célula na planilha 1 (clique na guia planilha1 e clique em uma célula) e você perceberá que ela deve preencher o endereço da planilha1 e a célula u selecionada. agora digite <> depois desse endereço de célula e selecione planilha2 e uma célula., em seguida, clique em Formatar e escolha uma cor de preenchimento. Em seguida, ok. Se você for para a formatação condicional e gerenciar regras, ela mostrará a regra / fórmula e as células às quais ela se aplica.

fazendo isso eu era capaz de selecionar a célula D10 na folha 3, e torná-lo um verde feio se as células na folha1 e 2 não correspondessem (eu escolhi quais células), você também pode selecionar um intervalo de células.

assim, você pode aplicar essa regra para qualquer dellsvocê quer, e se você gravar uma macro de você definir essa formatação condicional, você pode manitpulate essa macro para aplicá-la a um grupo de células diferentes e alterar os intervalos. (usando loops / variáveis)