Visual Basic para Aplicaciones - EJECUTAR MACRO EN UNA SOLA PAGINA

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de edson aldemar

EJECUTAR MACRO EN UNA SOLA PAGINA

Publicado por edson aldemar (5 intervenciones) el 26/04/2017 20:44:59
Hola chicos; por favor necesitaría que me ayuden en lo siguiente:

tengo una macro de horas que cuando es ejecutada; en el botón apertura; no puedo abrir otros excel; ya que afecta y aparece la hora de mi macro ya ejecutada.para ser mas claro necesitaría ; que cada macro que realice sea ejecutada en mi propia macro sin afectar al resto; esto es mi código:

1
2
3
4
Private Sub Reloj()
Range("F2").Value = Time
Application.OnTime Time + TimeValue("00:00:01"), "reloj"
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

EJECUTAR MACRO EN UNA SOLA PAGINA

Publicado por Antoni Masana (498 intervenciones) el 26/04/2017 22:11:16
Me ha costado entender tu problema porque la explicación es horrorosa.

Cuando ejecutas esta macro pone la hora en la celda F2 de cualquier hoja activa de cualquier libro que abras y si este es el problema la solución es especificar el libro y la hoja done se debe poner la hora.

Ahora no recuerdo los comandos pero seria algo así

1
2
3
4
Private Sub Reloj()
    Book("Libro.xlsm").Sheet("Hoja1").Range("F2").Value = Time
    Application.OnTime Time + TimeValue("00:00:01"), "reloj"
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de edson aldemar

EJECUTAR MACRO EN UNA SOLA PAGINA

Publicado por edson aldemar (5 intervenciones) el 27/04/2017 00:21:16
Antoni....

En efecto; no fui claro en la petición; lo tendré en cuenta a próximos.:

Solo tengo esta consulta; el documento me sale erronea; ya que me indica que el subindice esta fuera de intervalo; envío los códigos:

1
2
3
4
Private Sub Reloj()
book("MACRO_HORA_MORI2017").Sheet("STATUS").Range("F2").Value = Time
Application.OnTime Time + TimeValue("00:00:01"), "reloj"
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

EJECUTAR MACRO EN UNA SOLA PAGINA

Publicado por Antoni Masana (498 intervenciones) el 27/04/2017 06:38:50
Pon este codigo en la hoja STATUS y debería funcionar correctamente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Tiempo()
    ' --- Mediante esta instruccion "llamamos" a "Actualizarreloj" para volver a _
             actualzizar el Label con la hora
 
    Application.OnTime Now + TimeValue("00:00:01"), _
                Procedure:="Actualizarreloj", _
                Schedule:=True
End Sub
 
Sub Actualizarreloj()
    ' --- Coloca la hora en la Celda Correspondiente
    Workbooks("MACRO_HORA_MORI2017.xlsm").Worksheets("STATUS").Range("F2") = Time
    ' --- "Llama a la rutina que cada 01 segundo "llama" a "Actualizarreloj" _
           para volver a actualzizar el Label con la hora
    Call Tiempo
End Sub
 
Sub Detener_reloj()
    ' --- Detiene el "OnTime"
     Application.OnTime Now + TimeValue("00:00:01"), _
                Procedure:="Actualizarreloj", _
                Schedule:=False
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de edson aldemar

EJECUTAR MACRO EN UNA SOLA PAGINA

Publicado por edson aldemar (5 intervenciones) el 27/04/2017 19:44:54
Muchísimas Gracias....

Me dio mucha utilidad.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar