Macro para identificar cedas en blanco de un rango
Hice la misma pregunta en un post anterior. Quizás formulé mal el planteamiento, se entiende poco y por ello no tuvo respuesta. Intentaré dar más y mejores datos.
Tengo una tabla en la que hay Una serie Histórica (de ventas, de producción...).
Según la cantidad de periodos de estudios, habrá más o menos celdas vacías que, en teoría, serían las celdas donde irán las "Predicciones" de Ventas o producción.
En una segunda Hoja hay otra tabla en la que se hace una "Media Móvil", aplicada a la serie Histórica.
El caso es que la serie Media Móvil, sobre el final de la Serie Histórica (donde no hay ya datos) toma como referencia celdas vacías para la Previsión.
Con la Herramienta SOLVER de Excel, se puede hacer un sistema Iterativo que "iguale" ambas "Predicciones"
En este caso, las celdas vacías empiezan en la Celda F18 de la Hoja Datos.
Los Datos de la "Media Móvil" se encuentra en la Hoja Media Móvil, en la celda E18 (Coincide el número de la Fila, pero no el de la columna)
La macro que muestro, hace el proceso iterativo hasta que la celda F18 (de la Hoja Datos) es lo más cercano posible según la estructura de datos deja a la celda E18 (de la Hoja Media Móvil)
La Macro debería, de forma dinámica, revisar las celdas vacías de la tabla mostrada (Columna F, a partir de la Fila 6) y repetir el método iterativo en cada celda vacía que encuentra.
Hoja Datos F18 con Hoha Media Móvil E18
Hoja Datos F19 con Hoha Media Móvil E19
Hoja Datos F20 con Hoha Media Móvil E20
Y así sucesivamente, por cada ceda vacía del rango de la columna F, dentro de los límites de la tabla.
La Macro la logré del "Grabador de Macros" y sólo le añadía un par de líneas de código, sólo para limpiar los valores de la iteración precedente. La Macro es la siguiente:
Sub SolverMM() 'Calcula el valor Óptimo Preventivo de la Previsión, según la Previsión calculada originalmente (Iteración) ' SolverReset SolverOk SetCell:="$F$18", MaxMinVal:=1, ValueOf:=0, ByChange:="$F$18", Engine _ :=1, EngineDesc:="GRG Nonlinear" SolverDelete CellRef:="$F$18", Relation:=2, FormulaText:="$E$18" SolverAdd CellRef:="$F$18", Relation:=2, FormulaText:= _ "'[PREVISIONE.xlsm]Media Mobile'!$E$18" SolverOk SetCell:="$F$18", MaxMinVal:=1, ValueOf:=0, ByChange:="$F$18", Engine _ :=1, EngineDesc:="GRG Nonlinear" SolverOk SetCell:="$F$18", MaxMinVal:=1, ValueOf:=0, ByChange:="$F$18", Engine _ :=1, EngineDesc:="GRG Nonlinear" SolverSolve UserFinish:=True SolverFinish KeepFinal:=1 SolverReset End Sub
¿Hay posibilidades de ayudarme en esto?