pero si le pones una lista desplegable a cada celda

claro tendrías la opción de jalar directamente los valores de la lista, pero estarías eliminando la formula que hace referencia a A1

.
ahora el código que pones no funciona para celdas aleatorias y al introducir el valor también estarías eliminando la formula que hace referencia a A1

si te sirve bien, pero creo que no cumple con solucionar la consulta original, por lo menos no como la planteaste

.