Antes de nada quiero felicitar a Hector Miguel por su maravillosa
labor, sin saberlo ya me ha ayudado muchas veces, sólo leyendo las
soluciones que ha ido presentando a todos los problemas de los
usuarios de este grupo he aprendido numerosas técnicas que me han dado
un nivel bastante bueno en el uso del progrma :D . Gracias por tu
esfuerzo.
Yo actualmente me he iniciado en labores de programación VBA que nunca
creí que iba a necesitar, pero me he puesto a grabar una macro para
reemplazar formulas y si no me equivoco me ha parecido entender que no
puedo reemplazarlas sino que tengo que o meter el valor o utilizar una
formula prediseñada ya, vamos a ver si me explico:
Por supuesto replace no funcionó esa era la primera opción que probé.
si uso range.value ya tengo que introducir la solución definitiva
pero si uso range.formula y no uso referencias a celdas sino a
parámetros de VBA pues no va la fórmula
Por ej.
Sub replace4()
'nofunciona alternar formula con parámetros
Dim truerange As Range
Dim str As String
Dim num As Double
Set truerange = Range("a11", Cells(1084, 107))
If IsArray(truerange) Then
ar = truerange
row1 = truerange.Row
column1 = truerange.Column
lastrow = row1 + UBound(ar, 1) - 1
lastcolumn = column1 + UBound(ar, 2) - 1
For irow = row1 To lastrow
For icol = column1 To lastcolumn
str = Cells(irow, icol).Formula
If Mid(str, 1, 1) = "<" Then
num = CDbl(Mid(str, 2, 1000))
formu = "=" & num & "/2"
Cells(irow, icol).Formula = formu
End If
Next icol
Next irow
End If
End Sub
Con la siguiente macro yo quería cambiar unos valores inferiores a un
mínimo por la mitad de ese mínimo. El caso es que la macro no funciona
y supongo que es porque no puede incorporar el parámetro num a la
función dividir.
En otra ocasión quería reemplazar promedio por fcamg siendo fcamg una
función prediseñada por mi, pero no va tampoco me pregunto si podré
que hacer que fcamg funcione dentro de la macro con los argumentos de
promedio.
En algunos casos me gustaría dejar constancia de la formula utilizada
para así saber como he obtenido el valor. Quiero decir que al menos el
problema está resuelto para el signo < y creo que puedo hacerlo para
lo de la función promedio, pero me quedo sin saber que valores he
obtenido por mis calculos y que fórmula he utilizado para ello, hasta
ahora la manera más sencilla ha sido dejar la fórmula pero, ¿puedo
seguir haciendo esto si utilizo una macro? .
Por favor, cualquiera que pueda aportarme algo sobre este tema tan
interesante quedo a la espera de su respuesta. Pongo este mismo Post
en el grupo microsoft.public.excel.programming
Leer las respuestas