Como puedo ajustar unas formulas de forma masiva

4 envíos / 0 nuevos
Último envío
Stefa8138
Imagen de Stefa8138
Offline
última acción: Hace 6 años 3 semanas
alta: 07/02/2018 - 15:52
Puntos: 60
Como puedo ajustar unas formulas de forma masiva

Hola, les cuento que pasa.

Tengo dos Columnas cada una con 8331 formulas en total, la cosa es que en todas las formulas en vez de mostrar el resultado me sale el error de: "#¿NOMBRE?", ya me he asegurado de que las formulas y los datos que usa estén bien, ya también me asegure que el calculo este en automático y de que en las celdas se muestre el resultado y no la formula, he tratado de en varias ocasiones usar el botón de F9 para actualizar los datos y no me funciona, lo único que hasta el momento me sirve es entrar a la formula ta sea con doble click o F2 y luego presionar el Intro pero son muchos datos como para hacer eso uno por uno, mi pregunta es ¿Como puedo arreglar ese problema de una sola vez?, ya sea con una macro o con un comando que me las ajuste todas al mismo tiempo, lo que sea pero necesito ayuda.

Debo decir que la formula que se usa en las celda es la de =SUBTOTALES(9) Y si necesitan alguna informacion adicional con gusto se las dare

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 9 horas 5 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Comprueba que las celdas no

Comprueba que las celdas no tengan formato Texto

¿esas fórmulas se han introducido a mano o mediante una macro?

Si es mediante macro comprueba que se estén introduciendo en el idioma correcto.

Imagino que es toda la columna será la misma fórmula que se repite, así que igual es más rápido editar la fórmula en la fila 1 y extender la fórmula hasta el final

para extender la fórmula puedes hacer doble clic en la esquina inferior derecha de la celda seleccionada, cuando el cursor adopte la forma de una cruz negra. Esto extiende la fórmula en todo el rango donde haya datos en la columna inmediatamente a la izquierda

 extender fórmula en Excel 

 

------
Ya sé Excel, pero necesito más.

Stefa8138
Imagen de Stefa8138
Offline
última acción: Hace 6 años 3 semanas
alta: 07/02/2018 - 15:52
Puntos: 60
Respuesta

Las formulas fueron introducidas manualmente, pero los rangos se habian desorganizado y las reorganice usando esta macro

Sub FixSubTotals()

    Dim i, j, lastRow As Long

 

    lastRow = Range("A" & Rows.Count).End(xlUp).Row 'Cuenta cuantas filas hay en la tabla

 

    j = 0 'inicia el contador desde cero

    For i = lastRow To 1 Step -1 'pasa por cada fila desde la ultima del libro hacia la primera fila

        If Range("A" & i).Value <> 1 Then 'evalúa si el valor en la columna A es diferente de 1

            j = j + 1 'Si es diferente va contando cuantas filas hay entre subtotales.

        Else

            Worksheets("APU").Range("P" & i).FormulaR1C1 = "=SUBTOTALES(9,R[1]C[-2]:R[" & j & "]C[-1])" 'Cuando encuentra un 1 asigna la formula subtotal con los rangos que contienen los valores a sumar

            j = 0 'Reinicia el contador para cada rango.

        End If

    Next i 'Pasa a la siguiente fila

 

End Sub


Como me aseguro de que lo colocara en el idoma correcto?
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 9 horas 5 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
.FormulaR1C1 vs

Cuando establecse la fórmula con la macro lo haces con .FormulaR1C1 y esto requiere que introduzcas la fórmula en inglés

Si quiere introducir la fórmula en el idioma local de la instalación de tu Excel, que entiendo que es el español, entonces tienes qeu utilizar 

.FormulaR1C1Local = ...

 

si lo que quieres es introducir la fórmula con el estilo A1 para referirte a las celdas, entonces tienes 

.Formula (en inglés)

.FormulaLocal (en el idioma local, en este caso en español)

 

 

 

 

------
Ya sé Excel, pero necesito más.