Asistente de Office

03/10/2006 - 22:02 por DOORS | Informe spam
Buenas tardes,

Amigos, tengo una hoja que es una orden de pago, los usuarios tienen un
maximo de 40.0000 para realizar las compras. Tengo un código que lo que hace
es llamarme al asistente en el momento de que el monto que esta en la celda
L17 se pase o sea igual a 40.000. El código que tengo en el módulo es este:

Sub Mensaje_temporal()
If Terminar Then Exit Sub
With Assistant.NewBalloon
.BalloonType = msoBalloonTypeBullets
.Animation = msoAnimationListensToComputer
.Animation = msoAnimationEmptyTrash
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-098"
.Labels(1).Text = "El monto máximo de pago es 40.000"
.Show
End With
Call ocultar
End Sub

Lo llamo desde ThisWorkbook con el siguiente código:

Private Sub ActiveWorkbook()
With ThisWorkbook.Worksheets("F-029").Range("L17")
If .Value = "0.00" Then
Call Mostrar
Call Mensaje_temporal
.Parent.Activate
.Select
End If
End With
End Sub

Pero no me funciona, alguien me puede ayudar??

GRACIAS!!!!
 

Leer las respuestas

#1 Héctor Miguel
04/10/2006 - 07:50 | Informe spam
hola, DOORS !

... una hoja que es una orden de pago, los usuarios tienen un maximo de 40.0000 para realizar las compras
... ... llamarme al asistente en el momento de que el monto que esta en la celda L17 se pase o sea igual a 40.000



1) no se 'de donde sacaste/obtuviste/inventaste/...' el procedimiento: -> Private Sub ActiveWorkbook() ???

2) la primera instruccion en el procedimiento 'Mensaje_temporal': -> If Terminar Then Exit Sub
[supongo que]... se habra quedado de llamadas a procedimientos 'OnTime' anteriores -?-

3) procura utilizar UNA SOLA instruccion: -> .Animation = ???

4) prueba con el siguiente codigo... -> en el modulo de 'la hoja' donde tienes el formato de orden de pago...

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("l17") <= 40000 Then Exit Sub
With Assistant.NewBalloon
.Heading = "F-098"
.Text = "El monto maximo de pago es 40.000"
.Button = msoButtonSetOK
.BalloonType = msoBalloonTypeButtons
.Mode = msoModeModal ' msoModeAutoDown
.Animation = msoAnimationEmptyTrash
.Show
End With
Application.Undo
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
El codigo que tengo en el modulo es este:
Sub Mensaje_temporal()
If Terminar Then Exit Sub
With Assistant.NewBalloon
.BalloonType = msoBalloonTypeBullets
.Animation = msoAnimationListensToComputer
.Animation = msoAnimationEmptyTrash
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-098"
.Labels(1).Text = "El monto maximo de pago es 40.000"
.Show
End With
Call ocultar
End Sub

Lo llamo desde ThisWorkbook con el siguiente codigo:

Private Sub ActiveWorkbook()
With ThisWorkbook.Worksheets("F-029").Range("L17")
If .Value = "0.00" Then
Call Mostrar
Call Mensaje_temporal
.Parent.Activate
.Select
End If
End With
End Sub

Pero no me funciona...

Preguntas similares