Rangos o variables con nombre:
DiasSem=Hoja2!$A$1:$A$7
MesActual=MES(AHORA())
Meses=INDIRECTO("Hoja2!$B$" & MesActual & ":$B$12")
Funciones utilizadas:
Ahora()
Indirecto()
Mes()
El Primer paso consiste en preparar la lista con los posibles datos válidos para la celda o celdas en cuestión. He preparado dos listas, una con los días y otra con los meses. Están en hoja2.
En el segundo paso hay que insertar un rango con nombre para cada lista, mediante: Insertar->nombre->Definir. Se indica nombre que vamos a dar a la lista y el rango donde está la lista.
Para validar:
- Hay que seleccionar la celda o celdas.
- Mediante Datos->Validación y Selección de lista. En origen pones =Nombrelista (en el ejemplo DiasSem o Meses).
Una de las listas es de contenido fijo y la otra de contenido variable. La lista DiasSem es una lista de contenido fijo, y la lista Meses es una lista de contenido variable.
- El supuesto del que parto para esta lista variable es el de no poder seleccionar meses anteriores al mes actual.
- Mediante Mes(ahora()) calculo el mes actual.
- Mediante Meses=INDIRECTO("Hoja2!$B$" & MesActual & ":$B$12") hago variable la lista.