Para Hector!!!! II

27/03/2006 - 00:58 por DOORS | Informe spam
Hola Hector !!!, Muchas Gracias por tu codigo me servio a la perfección : ) ,
solo que yo sigo de necio : ( , es que me agrada utilizar el asistente, monte
parte de tu codigo con el que yo tenia (una especie de frankestein)!!, y
tengo un problema, que el momento de seleccionar adquisicion de activo este
me funciona bien, pero cuando le doy click en un boton que tengo de menu
principal y selecciono retiro, en la primera vez me sale retiro, pero luego
ya me aparece adquisicion y asi sucesivamente.. :( que puede ser ??, te
adjunto el codigo para que lo veas!!

Tuve que activar el asistente, porque en otras pcs no funcionaba, es decir
no me llamaba el asistente!!

MUCHAS GRACIAS!!!! : )
******MODULO********
Option Explicit
Public Terminar As Boolean
Public Terminar2 As Boolean
Public Terminar3 As Boolean
Sub Auto_Open()
ActiveWorkbook.Sheets("inicio").Activate
UserForm1.Show

End Sub
Sub Mensaje_temporal()

If Terminar Then Exit Sub
With Assistant.NewBalloon

.BalloonType = msoBalloonTypeBullets
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-98"
.Labels(1).Text = "Se encuentra en Adquisición de Activo"
.Show

End With
Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal"
End Sub
Sub Mensaje_temporal2()

If Terminar Then Exit Sub
With Assistant.NewBalloon

.BalloonType = msoBalloonTypeBullets
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-98"
.Labels(1).Text = "Se encuentra en Traslado de Activo"
.Show
End With
Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal2"
End Sub
Sub Mensaje_temporal3()

If Terminar Then Exit Sub
With Assistant.NewBalloon

.BalloonType = msoBalloonTypeBullets
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-98"
.Labels(1).Text = "Se encuentra en Retiro de Activo"
.Show
End With
Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal3"
End Sub

Private Sub Activar()
With Application.Assistant
.On = True
.Visible = True
End With
End Sub

Private Sub Ocultar()
With Application.Assistant
.On = False
.Visible = False
End With
End Sub

****** FORMA MENU******
Private Sub CommandButton1_Click()
Call Activar
If OptionButton1.Value = True Then
ActiveWorkbook.Sheets("Adquisición").Activate
Unload Me
Call Mensaje_temporal
End If

If OptionButton2.Value = True Then

ActiveWorkbook.Sheets("Traslado").Activate
Unload Me
Call Mensaje_temporal2
End If

If OptionButton3.Value = True Then
ActiveWorkbook.Sheets("Retiro").Activate
Unload Me
Call Mensaje_temporal3
End If

If OptionButton1.Value = False Or OptionButton2.Value = False Or
OptionButton3.Value = False Then
Call Mensaje
End If
End Sub

Private Sub Mensaje()
If OptionButton1.Value = False Or OptionButton2.Value = False Or
OptionButton3.Value = False Then
MsgBox "Debe seleccionar al menos una opción"
End If
End Sub
Private Sub CommandButton2_Click()
Application.DisplayAlerts = False
ActiveWorkbook.Close
End Sub

Private Sub OptionButton1_Click()

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub
Sub Auto_Open()
UserForm1.Show
End Sub

Private Sub Activar()
With Application.Assistant
.On = True
.Visible = True
End With
End Sub

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
28/03/2006 - 06:47 | Informe spam
hola, DOORS !

primero [y si me permites]... te 'exhorto' para que EVITES 'personalizar' las consultas [es decir]...
-> al 'solicitar' que responda una persona [o grupo] 'en particular'...
-> TU MISMO 'reduces' las posibilidades de recibir propuestas de solucion mas... 'inmediatas'
-> [p.e.] que pasa si el 'interpelado' NO 'anda por los foros' [en ese momento] ?
-> algun otro participante que tenga la respuesta que necesitas...
la expondria ?... [es decir]... si 'se llegara a sentir... excluido' ? :-\\

[ahora]... 'regresando al tema'...

... sigo de necio :( es que me agrada utilizar el asistente, monte parte de tu codigo con el que yo tenia
... tengo un problema, que el momento de seleccionar adquisicion de activo este me funciona bien
pero cuando le doy click en un boton... y selecciono retiro, en la primera vez me sale retiro
pero luego ya me aparece adquisicion y asi sucesivamente.. :( que puede ser ??, te adjunto el codigo...



1) defines 3 variables 'de terminacion'... PERO en el codigo SOLO utilizas [o llamas] a la primera :-(
2) los procedimientos 'Activar' y 'Ocultar' los has establecido como 'privados' [solo se pueden llamar desde el mismo modulo donde estan] :-(
3) [es 'casi' seguro que]... al estar usando el metodo 'OnTime' para las re/programaciones de una siguiente 'aparicion' del asistente...
a) muestras varias veces el formulario [y asumiendo que las siguientes ocasiones se elige otra hoja]...
b) se van 'acumulando' las [re]programaciones anteriores [como pendientes] y se siguen mostrando... segun 'su secuencia' -?-
c) [seguramente] se va 'trastornando' el orden de los eventos de presentacion del asistente -?-
4) el codigo es repetitivo y puede ser 'adelgazado' a una sola macro de mensajes_temporales si aprovechas otro tipo de circunstancias
te expongo un ejemplo al final :))
5) NO 'pierdas de vista' la posibilidad de que 'andes dejando regados'... -> varios procedimientos 'OnTime' anteriormente 'programados' -?-

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

1) en un modulo de codigo 'normal'
Sub Mensaje_temporal()
If Terminar Then Exit Sub
Select Case LCase(ActiveSheet.Name)
Case "adquisición", "traslado", "retiro"
With Assistant.NewBalloon
.BalloonType = msoBalloonTypeBullets
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-98"
.Labels(1).Text = "Se encuentra en " & ActiveSheet.Name & " de Activo"
.Show
End With
End Select
Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal"
End Sub

2) en el modulo de codigo del formulario
Private Sub CommandButton1_Click()
If OptionButton1 Then
Worksheets("adquisición").Select
ElseIf OptionButton2 Then
Worksheets("traslado").Select
ElseIf OptionButton3 Then
Worksheets("retiro").Select
Else
MsgBox "Debes seleccionar alguna opcion de hoja..."
Exit Sub
End If
Unload Me
Mensaje_temporal
End Sub
______________________
___ el codigo expuesto ___
******MODULO********
Option Explicit
Public Terminar As Boolean
Public Terminar2 As Boolean
Public Terminar3 As Boolean
Sub Auto_Open()
ActiveWorkbook.Sheets("inicio").Activate
UserForm1.Show
End Sub
Sub Mensaje_temporal()
If Terminar Then Exit Sub
With Assistant.NewBalloon
.BalloonType = msoBalloonTypeBullets
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-98"
.Labels(1).Text = "Se encuentra en Adquisición de Activo"
.Show
End With
Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal"
End Sub
Sub Mensaje_temporal2()
If Terminar Then Exit Sub
With Assistant.NewBalloon
.BalloonType = msoBalloonTypeBullets
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-98"
.Labels(1).Text = "Se encuentra en Traslado de Activo"
.Show
End With
Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal2"
End Sub
Sub Mensaje_temporal3()
If Terminar Then Exit Sub
With Assistant.NewBalloon
.BalloonType = msoBalloonTypeBullets
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-98"
.Labels(1).Text = "Se encuentra en Retiro de Activo"
.Show
End With
Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal3"
End Sub
Private Sub Activar()
With Application.Assistant
.On = True
.Visible = True
End With
End Sub
Private Sub Ocultar()
With Application.Assistant
.On = False
.Visible = False
End With
End Sub
****** FORMA MENU******
Private Sub CommandButton1_Click()
Call Activar
If OptionButton1.Value = True Then
ActiveWorkbook.Sheets("Adquisición").Activate
Unload Me
Call Mensaje_temporal
End If
If OptionButton2.Value = True Then
ActiveWorkbook.Sheets("Traslado").Activate
Unload Me
Call Mensaje_temporal2
End If
If OptionButton3.Value = True Then
ActiveWorkbook.Sheets("Retiro").Activate
Unload Me
Call Mensaje_temporal3
End If
If OptionButton1.Value = False Or OptionButton2.Value = False Or
OptionButton3.Value = False Then
Call Mensaje
End If
End Sub
Private Sub Mensaje()
If OptionButton1.Value = False Or OptionButton2.Value = False Or
OptionButton3.Value = False Then
MsgBox "Debe seleccionar al menos una opción"
End If
End Sub
Private Sub CommandButton2_Click()
Application.DisplayAlerts = False
ActiveWorkbook.Close
End Sub
Private Sub OptionButton1_Click()
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub
Respuesta Responder a este mensaje
#2 DOORS
28/03/2006 - 20:26 | Informe spam
EXCELENTE HECTOR MUCHAS GRACIAS!! : )

"Héctor Miguel" escribió:

hola, DOORS !

primero [y si me permites]... te 'exhorto' para que EVITES 'personalizar' las consultas [es decir]...
-> al 'solicitar' que responda una persona [o grupo] 'en particular'...
-> TU MISMO 'reduces' las posibilidades de recibir propuestas de solucion mas... 'inmediatas'
-> [p.e.] que pasa si el 'interpelado' NO 'anda por los foros' [en ese momento] ?
-> algun otro participante que tenga la respuesta que necesitas...
la expondria ?... [es decir]... si 'se llegara a sentir... excluido' ? :-\\

[ahora]... 'regresando al tema'...

> ... sigo de necio :( es que me agrada utilizar el asistente, monte parte de tu codigo con el que yo tenia
> ... tengo un problema, que el momento de seleccionar adquisicion de activo este me funciona bien
> pero cuando le doy click en un boton... y selecciono retiro, en la primera vez me sale retiro
> pero luego ya me aparece adquisicion y asi sucesivamente.. :( que puede ser ??, te adjunto el codigo...

1) defines 3 variables 'de terminacion'... PERO en el codigo SOLO utilizas [o llamas] a la primera :-(
2) los procedimientos 'Activar' y 'Ocultar' los has establecido como 'privados' [solo se pueden llamar desde el mismo modulo donde estan] :-(
3) [es 'casi' seguro que]... al estar usando el metodo 'OnTime' para las re/programaciones de una siguiente 'aparicion' del asistente...
a) muestras varias veces el formulario [y asumiendo que las siguientes ocasiones se elige otra hoja]...
b) se van 'acumulando' las [re]programaciones anteriores [como pendientes] y se siguen mostrando... segun 'su secuencia' -?-
c) [seguramente] se va 'trastornando' el orden de los eventos de presentacion del asistente -?-
4) el codigo es repetitivo y puede ser 'adelgazado' a una sola macro de mensajes_temporales si aprovechas otro tipo de circunstancias
te expongo un ejemplo al final :))
5) NO 'pierdas de vista' la posibilidad de que 'andes dejando regados'... -> varios procedimientos 'OnTime' anteriormente 'programados' -?-

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

1) en un modulo de codigo 'normal'
Sub Mensaje_temporal()
If Terminar Then Exit Sub
Select Case LCase(ActiveSheet.Name)
Case "adquisición", "traslado", "retiro"
With Assistant.NewBalloon
.BalloonType = msoBalloonTypeBullets
.Icon = msoIconTip
.Button = msoButtonSetOK
.Heading = "F-98"
.Labels(1).Text = "Se encuentra en " & ActiveSheet.Name & " de Activo"
.Show
End With
End Select
Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal"
End Sub

2) en el modulo de codigo del formulario
Private Sub CommandButton1_Click()
If OptionButton1 Then
Worksheets("adquisición").Select
ElseIf OptionButton2 Then
Worksheets("traslado").Select
ElseIf OptionButton3 Then
Worksheets("retiro").Select
Else
MsgBox "Debes seleccionar alguna opcion de hoja..."
Exit Sub
End If
Unload Me
Mensaje_temporal
End Sub
______________________
___ el codigo expuesto ___
> ******MODULO********
> Option Explicit
> Public Terminar As Boolean
> Public Terminar2 As Boolean
> Public Terminar3 As Boolean
> Sub Auto_Open()
> ActiveWorkbook.Sheets("inicio").Activate
> UserForm1.Show
> End Sub
> Sub Mensaje_temporal()
> If Terminar Then Exit Sub
> With Assistant.NewBalloon
> .BalloonType = msoBalloonTypeBullets
> .Icon = msoIconTip
> .Button = msoButtonSetOK
> .Heading = "F-98"
> .Labels(1).Text = "Se encuentra en Adquisición de Activo"
> .Show
> End With
> Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal"
> End Sub
> Sub Mensaje_temporal2()
> If Terminar Then Exit Sub
> With Assistant.NewBalloon
> .BalloonType = msoBalloonTypeBullets
> .Icon = msoIconTip
> .Button = msoButtonSetOK
> .Heading = "F-98"
> .Labels(1).Text = "Se encuentra en Traslado de Activo"
> .Show
> End With
> Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal2"
> End Sub
> Sub Mensaje_temporal3()
> If Terminar Then Exit Sub
> With Assistant.NewBalloon
> .BalloonType = msoBalloonTypeBullets
> .Icon = msoIconTip
> .Button = msoButtonSetOK
> .Heading = "F-98"
> .Labels(1).Text = "Se encuentra en Retiro de Activo"
> .Show
> End With
> Application.OnTime Now + TimeSerial(0, 0, 15), "Mensaje_temporal3"
> End Sub
> Private Sub Activar()
> With Application.Assistant
> .On = True
> .Visible = True
> End With
> End Sub
> Private Sub Ocultar()
> With Application.Assistant
> .On = False
> .Visible = False
> End With
> End Sub
> ****** FORMA MENU******
> Private Sub CommandButton1_Click()
> Call Activar
> If OptionButton1.Value = True Then
> ActiveWorkbook.Sheets("Adquisición").Activate
> Unload Me
> Call Mensaje_temporal
> End If
> If OptionButton2.Value = True Then
> ActiveWorkbook.Sheets("Traslado").Activate
> Unload Me
> Call Mensaje_temporal2
> End If
> If OptionButton3.Value = True Then
> ActiveWorkbook.Sheets("Retiro").Activate
> Unload Me
> Call Mensaje_temporal3
> End If
> If OptionButton1.Value = False Or OptionButton2.Value = False Or
> OptionButton3.Value = False Then
> Call Mensaje
> End If
> End Sub
> Private Sub Mensaje()
> If OptionButton1.Value = False Or OptionButton2.Value = False Or
> OptionButton3.Value = False Then
> MsgBox "Debe seleccionar al menos una opción"
> End If
> End Sub
> Private Sub CommandButton2_Click()
> Application.DisplayAlerts = False
> ActiveWorkbook.Close
> End Sub
> Private Sub OptionButton1_Click()
> End Sub
> Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
> If CloseMode = vbFormControlMenu Then Cancel = True
> End Sub



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