Quero evitar que um usuário veja os dados na célula A1 até inserir a data na célula D1. Assim que inserirem a data na célula D1, os dados em A1 aparecerão para eles.
Responder1
@Scott Craner conhece o assunto e respondeu concisamente à sua pergunta dentro dos limites das informações que você incluiu. Não consigo pensar em nada além do VBA para ocultar o valor de uma célula sem expandir o escopo.
Use formatação condicional. Formate inicialmente a célula com a cor do texto igual ao fundo e, quando uma data for adicionada, tenha uma regra de formatação condicional que altera a cor do texto para a cor desejada.-Scott Craner
Observe que o usuário ainda poderá ver os dados na barra de fórmulas se a célula estiver selecionada. Para evitar isso, você pode ocultar a barra de fórmulas ou desmarcar a caixa “selecionar células bloqueadas” e proteger a planilha.
Outra coisa a ter em mente é o excesso de células. Se B1 estiver vazio e A1 contiver uma string grande, com as configurações padrão, o conteúdo de A1 fluirá para colunas adjacentes. Você não poderá ver o texto se ele corresponder ao plano de fundo dessas colunas e não poderá selecioná-lo, mas as bordas das células serão removidas, dando a aparência de uma célula mesclada. E se a cor de fundo for alterada, o texto transbordante poderá ser lido. Você pode alinhar o texto à direita para evitar o transbordamento da coluna B, mas isso pode ser um problema se as colunas forem adicionadas à esquerda.
Alternativamente, você pode colocar seus dados em uma planilha oculta e usar fórmulas para apresentar os dados quando apropriado. A proteção da planilha ainda é necessária para evitar que um usuário experiente leia os dados prematuramente e seja avisado de que um usuário qualificado pode encontrar seus dados em qualquer lugar da pasta de trabalho, não importa o que você faça.