Para DAM, Necesito modificar formula que reemplacen dato por nombre de Hoja y rango de celdas

DAM, en esta oportunidad te solicito ayuda para modificar las siguientes formulas:

Existe una Hoja llamada "DATOS" donde reposa una base de Datos con múltiples registros y donde en el rango de celdas "BH1:BH11", existen un listado de los nombres de hojas así:

BH1 MARÍA

BH2 ANTONIO

BH3 MARGARITA y así sucesivamente.

Cada una de estas hojas tiene una adicional que al mismo nombre se le antepone la expresión "TEMP_" siendo así los nombres de las otras hojas: "TEMP_MARIA"; "TEMP_ANTONIO"; "TEMP_MARGARITA" y así sucesivamente

En Excel sería esta formula, para ubicar en la hoja "TEMP_MARIA"

=SI(Datos!$C2="<strong style="line-height: 1.5em;">MARÍA",Datos!A2,NOD())

Con la siguiente macro lo ejecuto a la perfección:

Range("A2").Select
ActiveCell.FormulaR1C1 = "=IF(DATOS!RC56=""MARÍA"",DATOS!RC,NOD())"
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:BF2"), Type:=xlFillDefault
Range("A2:BF2").Select
Selection.AutoFill Destination:=Range("A2:BF326"), Type:=xlFillDefault
Range("A2:BF326").Select

Necesito cambiar la palabra "MARÍA", por los nombres dispuestos en el rango de celdas "BH1:BH11" de la hoja "DATOS".

Necesito igualmente cambiar "Range("A2:BF2")" por el valor correspondiente a la fila pues al ingresar un nuevo registro se debe cambiar ese "2" por el "3", luego por el "4" y así sucesivamente; intento con el siguiente rango pero no me funciona: "Range("A" & fila:"BF" & fila"). Y

Cambiar "Range("A2:BF326")" ese "326" por el último número de fila ocupada.

Dam, las alternativas propuestas por usted anteriormente, a pesar de ser excelentes y prácticas, tengo un problema es que como está previsto trabajar este archivo en Red solo me permite validar con la "X" frente a cada usuario uno a la vez.

Lo que más me urge es el reemplazar en la formula los nombres, más que los rangos, si me puede ayudar con las dos le agradezco enormemente si solo me puede ayudar en la de los nombres de hojas igualmente le agradezco infinitamente.

Saludos.

1 respuesta

Respuesta
1

Me puedes enviar tu archivo y me dices con ejemplos qué es lo que necesitas

No olvides poner en el asunto tu nombre de usuario

Esta sería la macro

Set h1 = Sheets("DATOS")
u = h1.Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To h1.Range("BH" & Rows.Count).End(xlUp).Row
 n = h1.Cells(i, "BH")
 Sheets("TEMP_" & h1.Cells(i, "BH")).Range("A2:BF" & u) = "=IF(DATOS!RC56=""" & n & """,DATOS!RC,NOD())"
Next

Esta parte:

"Necesito igualmente cambiar "Range("A2:BF2")" por el valor correspondiente a la fila pues al ingresar un nuevo registro se debe cambiar ese "2" por el "3", luego por el "4" "

No la entendí. Ya que en la macro tienes A2:BF362 y con eso rellenas hacia abajo desde la 2 hasta la última fila, ¿entonces para que quieres que cambie de 2 a 3 y luego a 4?

Con la macro se rellena la fórmula en todas las hojas TEM_

Saludos. Dante Amor
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas