Excel: ¿puedo configurar una celda para que tenga un valor determinado, sin importar lo que se escriba en ella?

Excel: ¿puedo configurar una celda para que tenga un valor determinado, sin importar lo que se escriba en ella?

Esto es para gastarle una broma a alguien... no estoy seguro si es posible hacer lo que quiero. Estamos circulando un archivo Excel entre amigos para seleccionar jugadores para un torneo de golf. Me gustaría configurar una celda (llámela A1) para que muestre un nombre determinado (llámelo Joe) sin importar lo que alguien escriba en él.

A1 debe estar en blanco hasta que alguien intente escribir un nombre en él. Cuando alguien escribe un nombre, cualquier nombre, cambia automáticamente a Joe después de presionar Enter.

El formato condicional no funciona porque parece que solo aborda la apariencia del valor en la celda A1.

Una fórmula no funciona porque verían algo en la celda.

La corrección automática, si bien tendría el efecto exacto que estoy buscando, no funciona porque está almacenado en mi computadora y no se transfiere con el archivo.

¿Algunas ideas?

Respuesta1

Como alternativa sin macros, esto no cambiará el valor de la celda, pero sí cambiará la visualización de la celda. Haga clic derecho en la celda en cuestión, luego haga clic en "Formatear celdas". En la pestaña de números, haga clic en Personalizado, luego ingrese el siguiente formato de número personalizado

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

Explicación: Los formatos numéricos de Excel tienen cuatro partes, separadas por punto y coma. El valor de la celda determina qué parte del formato numérico se utiliza y el formato se ve así:

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

Dado que cada sección es una cadena codificada, "Joe" se mostrará sin importar lo que se ingrese, incluso si se ingresa una fórmula (a menos que esa fórmula devuelva un error). Por lo general, los formatos numéricos se utilizan para mostrar números negativos en rojo, o alinear valores en decimales u otras cosas cosméticas. Pero también pueden usarse para molestar a tus amigos.

Respuesta2

Pon lo siguientemacro de eventoen el área de código de la hoja de trabajo:

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

información relacionada