Excel - posso definir uma célula para ser igual a um determinado valor, não importa o que esteja digitado nela?

Excel - posso definir uma célula para ser igual a um determinado valor, não importa o que esteja digitado nela?

Isso é para pregar uma peça em alguém... não tenho certeza se é possível fazer o que eu quero. Estamos divulgando um arquivo Excel entre amigos para seleção de jogadores para um torneio de golfe. Eu gostaria de definir uma célula (chame-a de A1) para mostrar um determinado nome (chame-a de Joe), não importa o que alguém digite nela.

A1 deve ficar em branco até que alguém tente digitar um nome nele. Quando alguém digita um nome - qualquer nome - ele muda automaticamente para Joe depois de pressionar Enter.

A formatação condicional não funciona, pois parece que apenas aborda a aparência do valor na célula A1.

Uma fórmula não funciona porque eles veriam algo na célula.

A correção automática - embora tenha o efeito exato que estou procurando - não funciona porque está armazenada no meu computador e não seria transferida com o arquivo.

Alguma ideia?

Responder1

Como alternativa sem macro, isso não alterará o valor da célula, mas alterará a exibição da célula. Clique com o botão direito na célula em questão e clique em “Formatar células”. Na guia de número, clique em Personalizado e insira o seguinte formato de número personalizado

"Joe";"Joe";"Joe";"Joe"

Explicação: Os formatos numéricos do Excel têm quatro partes, separadas por ponto e vírgula. O valor da célula determina qual parte do formato numérico é usada, e o formato fica assim:

[positive];[negative];[zero];[text] 

Como cada seção é uma string codificada, "Joe" será exibido independentemente do que for inserido, mesmo que uma fórmula seja inserida (a menos que essa fórmula retorne um erro). Normalmente, os formatos numéricos são usados ​​para exibir números negativos em vermelho ou alinhar valores em casas decimais ou outras coisas cosméticas. Mas eles também podem ser usados ​​para mexer com seus amigos.

Responder2

Coloque o seguintemacro de eventona área de código da planilha:

Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
   Application.EnableEvents = False
      Range("A1").Value = "Joe"
   Application.EnableEvents = True
End Sub

informação relacionada