Eu diria que a maneira mais simples de fazer isso seria com uma função definida pelo usuário. Essa função será atualizada quando qualquer célula referenciada mudar, assim você não terá que amarrá-la em nenhum evento.
Uma função para o seu problema seria:
Function Updating_Date(dependent_cell as Range) As Date
Updating_Date = Date
End Function
Depois de colocar esse código em um módulo em sua pasta de trabalho, você pode simplesmente inserir =Updating_Date(B5)
em C5
e copiá-lo para baixo. Isso deve fazer com que a data em C5 seja atualizada sempre que os valores na coluna C forem alterados.
Para que a data apareça somente se a célula na coluna B não estiver em branco, você poderia aplicar uma fórmula if na célula na coluna C, conforme eu toquei em a outra pergunta que você fez . Simplesmente digite o mesmo condicional que mostrei lá (por exemplo, ISBLANK(B5)
) e tenha o valor de retorno como uma string vazia ( ""
) se a condição for verdadeira, e a UDF ( Updating_Date(B5)
) se a condição for falsa.