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