Correccion de errores

13/02/2005 - 22:09 por Pepefras | Informe spam
Quisiera que me facilitaran una correccion de errores para esta macro, que
pone el resultado de un objetivo buscado en una celda.
Gracias anticipadas
Pepe Frasquet

Sub Resolverincognita()
'
' Resolverincognita Macro
' Macro grabada el 28/12/2004 por Pepe Frasquet
'

'
Dim PORCENTAJE As Variant
PORCENTAJE = InputBox("Indicar el % de beneficio mínimo")
'MsgBox = "PORCENTAJE"
Range("H30").Select

Range("H30").GoalSeek Goal:=PORCENTAJE, ChangingCell:=Range("G31")
Range("G31:H33").Select
End Sub

Preguntas similare

Leer las respuestas

#1 KL
14/02/2005 - 00:03 | Informe spam
Hola Pepe,

Prueba el codigo de abajo.

Saludos,
KL

'-Inicio Codigo
Sub Resolverincognita()
Dim Porcentaje As Double
Dim CeldaObjetivo As Range
Dim CeldaCambiar As Range
Dim CeldaPrecedente As Range

Set CeldaObjetivo = Range("H30")
Set CeldaCambiar = Range("G31")
Porcentaje = Application.InputBox _
("Indicar el % de beneficio mInimo" _
, , "100%", , , , , 1)

Select Case True
Case Porcentaje = 0
MsgBox "Se ha cancelado la tarea!"
Exit Sub
Case Not CeldaObjetivo.HasFormula
MsgBox "La celda " & CeldaObjetivo.Address _
& " debe contener formula!"
Exit Sub
End Select

CeldaObjetivo.GoalSeek Porcentaje, CeldaCambiar
Exit Sub
End Sub
'-Fin Codigo

"Pepefras" wrote in message
news:%
Quisiera que me facilitaran una correccion de errores para esta macro, que
pone el resultado de un objetivo buscado en una celda.
Gracias anticipadas
Pepe Frasquet

Sub Resolverincognita()
'
' Resolverincognita Macro
' Macro grabada el 28/12/2004 por Pepe Frasquet
'

'
Dim PORCENTAJE As Variant
PORCENTAJE = InputBox("Indicar el % de beneficio mínimo")
'MsgBox = "PORCENTAJE"
Range("H30").Select

Range("H30").GoalSeek Goal:=PORCENTAJE, ChangingCell:=Range("G31")
Range("G31:H33").Select
End Sub



Respuesta Responder a este mensaje
#2 Pepefras
14/02/2005 - 00:28 | Informe spam
estupendo gracias kl

"KL" escribió en el mensaje
news:#
Hola Pepe,

Prueba el codigo de abajo.

Saludos,
KL

'-Inicio Codigo
Sub Resolverincognita()
Dim Porcentaje As Double
Dim CeldaObjetivo As Range
Dim CeldaCambiar As Range
Dim CeldaPrecedente As Range

Set CeldaObjetivo = Range("H30")
Set CeldaCambiar = Range("G31")
Porcentaje = Application.InputBox _
("Indicar el % de beneficio mInimo" _
, , "100%", , , , , 1)

Select Case True
Case Porcentaje = 0
MsgBox "Se ha cancelado la tarea!"
Exit Sub
Case Not CeldaObjetivo.HasFormula
MsgBox "La celda " & CeldaObjetivo.Address _
& " debe contener formula!"
Exit Sub
End Select

CeldaObjetivo.GoalSeek Porcentaje, CeldaCambiar
Exit Sub
End Sub
'-Fin Codigo

"Pepefras" wrote in message
news:%
> Quisiera que me facilitaran una correccion de errores para esta macro,


que
> pone el resultado de un objetivo buscado en una celda.
> Gracias anticipadas
> Pepe Frasquet
>
> Sub Resolverincognita()
> '
> ' Resolverincognita Macro
> ' Macro grabada el 28/12/2004 por Pepe Frasquet
> '
>
> '
> Dim PORCENTAJE As Variant
> PORCENTAJE = InputBox("Indicar el % de beneficio mínimo")
> 'MsgBox = "PORCENTAJE"
> Range("H30").Select
>
> Range("H30").GoalSeek Goal:=PORCENTAJE, ChangingCell:=Range("G31")
> Range("G31:H33").Select
> End Sub
>
>
>


Respuesta Responder a este mensaje
#3 Héctor Miguel
14/02/2005 - 00:39 | Informe spam
hola, chicos !

[solo por NO 'dejarlo en el tintero'] :))

puedes tambien utilizar lineas 'adicionales' en el 'inputbox' para indicar con precision el dato 'esperado'
incluso podrias 'aprovechar' al dato actual para mostrarlo como 'valor por omision' del inputbox...
o podrias ademas presentarlo con algun formato de tu preferencia...
o podrias 'forzar' a que el resultado 'devuelto' sea siempre interpretado como valor 'numerico'
o [...] [en lo personal]
yo prefiero establecer referencias a objetos con la instruccion 'Set' [solo] cuando es 'imprescindible' ;)

ejemplos enseguida:
saludos,
hector.

Sub Resolverincognita()
Dim Porcentaje As Single
Porcentaje = Abs(Val(Trim(InputBox("Indicar el % de beneficio mínimo"))))
If Porcentaje > 0 Then Range("h30").GoalSeek Goal:=Porcentaje & _
IIf(Porcentaje < 1, "", " %"), ChangingCell:=Range("g31")
End Sub

o para 'aprovechar' las lineas 'adicionales' y el valor por omision del inputbox...
Porcentaje = Abs(Val(Trim(InputBox("Indicar el % de beneficio mínimo" & vbCr & _
"indica aquí CON PRECISION el tipo de dato ""esperado""", , _
Format(Range("h30"), "0.0 %")))))
Respuesta Responder a este mensaje
#4 pepefras
14/02/2005 - 07:55 | Informe spam
Te agradezco Héctor las puntualizaciones que probaré tan pronto pueda.
Muchas gracias tambien a ti.
Pepe Frasquet

"Héctor Miguel" escribió en el mensaje
news:
hola, chicos !

[solo por NO 'dejarlo en el tintero'] :))

puedes tambien utilizar lineas 'adicionales' en el 'inputbox' para indicar
con precision el dato 'esperado'
incluso podrias 'aprovechar' al dato actual para mostrarlo como 'valor por
omision' del inputbox...
o podrias ademas presentarlo con algun formato de tu preferencia...
o podrias 'forzar' a que el resultado 'devuelto' sea siempre interpretado
como valor 'numerico'
o [...] [en lo personal]
yo prefiero establecer referencias a objetos con la instruccion 'Set'
[solo] cuando es 'imprescindible' ;)

ejemplos enseguida:
saludos,
hector.

Sub Resolverincognita()
Dim Porcentaje As Single
Porcentaje = Abs(Val(Trim(InputBox("Indicar el % de beneficio mínimo"))))
If Porcentaje > 0 Then Range("h30").GoalSeek Goal:=Porcentaje & _
IIf(Porcentaje < 1, "", " %"), ChangingCell:=Range("g31")
End Sub

o para 'aprovechar' las lineas 'adicionales' y el valor por omision del
inputbox...
Porcentaje = Abs(Val(Trim(InputBox("Indicar el % de beneficio mínimo" &
vbCr & _
"indica aquí CON PRECISION el tipo de dato
""esperado""", , _
Format(Range("h30"), "0.0 %")))))

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida