El formato condicional no funciona con la fórmula

0

Estoy usando la siguiente fórmula para ingresar el nombre de mi hoja de Excel en una celda. Cuando trato de usar el formato condicional en esa celda y uso la opción "usar una fórmula para determinar qué celdas formatear" para formatear la celda, los datos no cambian.

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

Estoy tratando de que el nombre de mi hoja (que es una fecha escrita como 010117) se muestre como 01/01/17. Dado que Excel no me permite usar el símbolo "/" en el formato condicional de nombre de hoja parece ser mi única opción, pero no funciona en este caso.

Opciones?

Agotado
fuente
¿Puedes cambiar el nombre de la hoja? Creo que el problema es que está comenzando con a 0y a Excel no parece gustarle eso. ¿Es su objetivo final tener el nombre de la hoja en la celda, o es quizás un paso para llegar a un objetivo final? Es un poco ridículo, pero si puedes cambiar el nombre de tu hoja 10117, parece que funciona:=TEXT(DATE("20"&RIGHT(0&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),2),MID(0&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),3,2),LEFT(0&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),2)),"mm/dd/yy")
BruceWayne
Esa es una cita exagerada bien. Es más coherente porque tendré 365 hojas en un archivo de Excel, así que me gustaría tener las fechas establecidas como 010117,020117, etc. en los nombres de mis hojas.
Agotado el
Incluso eliminando el 0 aunque el formato condicional todavía no resuelve el problema
agotado el
¿VBA es una solución para ti? ¿O necesita ser solo fórmula?
BruceWayne
VBA sería adecuado, simplemente no tengo ni idea de por dónde empezar
Agotado el

Respuestas:

0

Aquí hay un UDF que puede usar para obtener el nombre de la hoja, en el estilo que desee. Tenga en cuenta que no comprueba que sea un formato de fecha válido, simplemente arroja el /entre cada dos números. Ponga esto en un módulo de libro de trabajo.

Function sheetNameToDate()
Application.Volatile
Dim shtNm As String
shtNm = ActiveSheet.Name
sheetNameToDate = Left(shtNm, 2) & "/" & Mid(shtNm, 3, 2) & "/" & Right(shtNm, 2)
End Function

Así, en una hoja, en cualquier celda, puede escribir =sheetNameToDate()y va a devolver el nombre de la hoja en el formato 01/01/17, 02/01/17etc. A continuación, puede hacer un formato condicional que es, por ejemplo, =sheetNameToDate()="01/01/17"y va a volver TRUEsi eso es así.

Bruce Wayne
fuente
Cuando hago eso, todo lo que devuelve es "#NAME?"
Agotado el
@ Agotado - Hmm. Su hoja tiene solo 6 números, ¿sí? ¿Sin espacios iniciales / finales? ¿Me puede decir qué nombre de hoja recibe un #NAMEerror? ¿Todos ellos? Es posible que deba agregar Worksheetfunction.antes de cada uno Left(), Mid()y Right(), pero se ejecutó en Excel 2010 sin problemas.
BruceWayne