¿Cómo puedo separar los números de una función en una celda de excel?

Estoy trabajando con una macro y probablemente estoy atascado en la mayor tontería, el caso es que tengo en una página en la celda A1 siempre un valor de la siguiente forma:

y = (un numero)*X - ( otro numero), por ejemplo, y = 177.84x - 7,689,036.16

Lo que me gustaría es tener una macro que me separe la función en los dos números, por ejemplo que en la celda A2 me ponga el 177,84 y en la celda A3 me ponga el 7689036.16

Gracias por todo!

3 Respuestas

Respuesta
1

Sencillo. Así como se muestra en la imagen.

Además así puedes ir variando las constantes y calculando la fórmula cada vez.

Basta con arrastrar la fórmula de E2 hacia abajo.

Prueba y me dices.

Hola, gracias por la ayuda, pero no me he expresado bien mis palabras, esa fórmula la genera mi macro automáticamente, pero varia todos los días, y todos los días necesito ambas crifras, no quería para este único caso, lo necesito para un caso general. Gracias

Pues eso mismo es lo que te he dado.

En las columnas B, C, D vas colocando los valores de tus constantes o de tus variables.

En la fila 2 (B2, C2, D2) he puesto unos valores. Tú puedes poner otros.

En las filas 3, 4, 5... etc. lo mismo.

No entiendo qué es lo que no entra en tu "caso general"

Por cierto, olvidé mencionarlo, porque se ve en la foto, pero la fórmula de la columna E (la que resuelve esa ecuación) está en la propia foto. Aunque sobre la suma de la E (creo que fue un error al teclear). De todas formas arreglo la foto para que quede más claro:

La fórmula es  =(A2*B2)-C2

Y también, siempre puedes subir una imagen para explicar mejor lo que quieres:

Respuesta
1

Solo usa las fórmulas que vienen en la imagen, recuerda que en matemáticas todos los signos cuentan así que si el numero es negativo lo tienes que sacar tal cual.

Respuesta
1

La siguiente idea es eliminar los caracteres de tu ecuación.

Eliminar los caracteres "=", "y", "z", ",", " ". En esa lista de caracteres puedes poner otras variables u otros caracteres, para que sean eliminados.

Deberían quedar los números y el símbolo de la operación (-), (+)

Por último con la instrucción split, se separan los números de acuerdo al símbolo de la operación.

Pon lo siguiente en tu macro:

Sub Separar()
    a = Range("A1").Value
    cars = Array("y", "=", "x", ",", " ")
    For i = LBound(cars) To UBound(cars)
        a = Replace(a, cars(i), "")
    Next
    '
    If InStr(1, a, "-") > 0 Then
        nums = Split(a, "-")
    ElseIf InStr(1, a, "+") > 0 Then
        nums = Split(a, "+")
    End If
    Range("A2").Value = WorksheetFunction.Trim(nums(0))
    Range("A3").Value = WorksheetFunction.Trim(nums(1))
End Sub

[Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas