LLamar a desde otra macro Goalseek

hola expertos ,

una consulta tengo una macro me funciona correctamente,  pero al llamarla de otro 

libro me sale error en el Goalseek y la verdad no se como arreglarlo, o si es que se puede llamar, si alguien me puede ayudar, desde ya muchas gracias

1 Respuesta

Respuesta
1

Envíame tus 2 libros, me explicas con detalle y con ejemplos cómo si funciona en el libro y cómo quieres que funcione con la llamada desde otro libro.

Ya te lo envíe y desde ya gracias :D

Ya me funciona, este es el código.

1. El nombre del libro con el cálculo no debe tener espacios, de esta forma podemos ejecutar la macro:
    Application.ScreenUpdating = False
    Workbooks("EPPrueba"). Activate
    Run "EPPrueba.xls!abrir"
2. Esta es la macro abrir, está dentro del libro EPPrueba:
    Sub abrir()
    Cálculo_Precio.Show
    End Sub
3. Esta es la macro que va dentro del forlmulario:
    Dim llamada
    Private Sub UserForm_activate()
    '
        llamada = Application.Caller
        OptionButton1 = True
        TextBox1.SetFocus
    End Sub
    Private Sub CommandButton1_Click()
        Application.ScreenUpdating = False
        If (IsNumeric(TextBox1.Text)) Then
            If OptionButton2 Then
                Call calcula_precio_por_ebitda
            End If
            On Error GoTo error4
            If OptionButton1 Then
                'ActiveCell.FormulaR1C1 = "10000"
                ActiveSheet.Range("g32").GoalSeek goal:=((Cálculo_Precio.TextBox1.Value) / 100), changingcell:=Range("d24")
            End If
            Unload Me
        ElseIf Not (IsNumeric(TextBox1.Text)) Then
            MsgBox "Debe ingresar sólo valores numéricos"
            TextBox1.Text = ""
            TextBox1.SetFocus
        End If
        'Application.ScreenUpdating = True
        Exit Sub
error4:
        Select Case Err.Number
        Case 1004
            'Range("d24").Select
            'ActiveCell.FormulaR1C1 = "10000"
            ActiveSheet.Range("g32").GoalSeek goal:=((Cálculo_Precio.TextBox1.Value) / 100), changingcell:=Range("d24")
        End Select
    End Sub
    Sub calcula_precio_por_ebitda()
    End Sub
    Private Sub UserForm_Terminate()
        If llamada <> "CommandButon1" Then Workbooks("Correr ep").Activate
    End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas