Hola jaimecruz

Iniciado por
jaimecruz
...El caso es que despues de ejecutar la macro la celda B76 aparece como si tuviera un error de nombre, pero si pincho intro en esa celda ya si que calcula la formula.
¿Como puedo hacerlo para incorporar esto a mi macro?
creo que el problema está en que estás usando ".formula". En VBA la fórmula se escribe en inglés, por eso cuando la pasas a Excel no la reconoce a menos que vayas y la reingreses manualmente presionando Enter. Dos posibles soluciones (si ese es el error):
1-. Usa ".formulalocal" en lugar de ".formula", algo así:
Código:
Range(CeldaTotales).FormulaLocal = Subtotales
2-. Usa en la cadena de texto la fórmula en inglés "=sum(b5:b76)" y usas ".formula como lo vienes haciendo. Incluso, si usas "=sum(b5:b76) puedes, si quieres, prescindir el ".formula"... con "sum(b5:b76)" en la celda J6, la macro podría usar esto:
Código:
Range(CeldaTotales) = Subtotales
y recuerda que en VBA no es necesario seleccionar un objeto para trabajar con él, creo que podrías reescribir tu macro así:
Si estás usando "sum(b5:b76)" en J6:
Código:
Sub Macro2()
With Sheets("valoracion u.o.")
Sheets("Hoja de Control").Range(.Range("J5")) = "=" & .Range("J6")
End With
End Sub
Si estás usando "suma(b5:b76)" en J6:
Código:
Sub Macro2()
With Sheets("valoracion u.o.")
Sheets("Hoja de Control").Range(.Range("J5")).FormulaLocal = "=" & .Range("J6")
End With
End Sub

Iniciado por
jaimecruz
...Si quiero usar variables dentro de un rango ¿como se deberia escribir en estos dos ejemplos?:
Variable 1 = B76
Variable 2 = C76
Ejemplo 1
Quiero seleccionar el rango de B5 a la Variable 1:
Range ("B76:variable1").Select
Quiero seleccionar el rango de la Variable 1 a la Variable 2:
Range (variable1:variable2).Select
creo que debería ser algo así:
para seleccionar el rango b5 a la variable1 (siendo la variable1 la cadena de texto b76):
Código:
range("b5:" & variable1).select
y para seleccionar el rango de la Variable 1 a la Variable 2:
Código:
Range (variable1 & ":" & variable2).Select
prueba esta macro a ver si te ayuda a aclarar un poco:
Código:
Sub Prueba()
variable1 = "B76"
variable2 = "C76"
Range("b5:" & variable1).Select
MsgBox "Se ha seleccionado el rango B5:" & variable1
Range(variable1 & ":" & variable2).Select
MsgBox "Se ha seleccionado el rango " & variable1 & ":" & variable2
End Sub
Marcadores