none
COMO ATUALIZAR A POSIÇÃO DE UMA FIGURA CONSTANTEMENTE COM VBA? RRS feed

  • Pergunta

  • NO EXCEL,

    AS POSIÇÕES SÃO AS SEGUINTES:

     Private Sub Workbook_Open()
    
        If Plan1.Shapes("SETA").Left = 10 Then
        
        Plan1.Shapes("SETA").Left = 20
        
        Else
        
        Plan1.Shapes("SETA").Left = 10
        
        End If
    
     End Sub

    GOSTARIA QUE A FIGURA FICASSE PASSANDO CONSTANTEMENTE DE UMA POSIÇÃO PARA OUTRA, SEM PARAR, DESDE A ABERTURA DA PLANILHA.

    COMO POSSO FAZER ISSO NO EVENTO WORKBOOK OPEN, USANDO O TIMER?






    sexta-feira, 17 de janeiro de 2014 21:55

Respostas

  •   Dim Alarme
    Const IntervaloSegundos = 1
    
    Sub Iniciar()
    Alarme = Now + TimeSerial(0, 0, IntervaloSegundos)
    Application.OnTime EarliestTime:=Alarme, procedure:="movimentar", schedule:=True
    End Sub
    
    Sub movimentar()
    
     If Plan1.Shapes("SETA").Left = 10 Then
        
        Plan1.Shapes("SETA").Left = 20
        
        Else
        
        Plan1.Shapes("SETA").Left = 10
        
        End If
    
    Call Iniciar
    End Sub
    

    fonte:

    site:

    Código Fonte

    Página:

    Criando um timer em VBA

    sábado, 18 de janeiro de 2014 13:56

Todas as Respostas

  • Você está com dúvidas em relação a o quê? Propriedade ou evento que você usará esta alteração de posições. Se for evento, recomendo o uso do Objecto Timer e o seu evento Tic. Ele possui uma propriedade em que é definido de quanto em quanto tempo ele vai correr o evento Tic. Se propriedade, e for em VB.NET, às linguagens. NET sofreram uma alteração nas suas propriedades. Elas estão organizadas de um modo mais lógico. Logo, a propriedade LEFT, é encontrada no POSITION ou LOCATION. Assim como a propriedade WIDTH é encontrada na propriedade SIZE. Abraço
    sábado, 18 de janeiro de 2014 06:35
  •   Dim Alarme
    Const IntervaloSegundos = 1
    
    Sub Iniciar()
    Alarme = Now + TimeSerial(0, 0, IntervaloSegundos)
    Application.OnTime EarliestTime:=Alarme, procedure:="movimentar", schedule:=True
    End Sub
    
    Sub movimentar()
    
     If Plan1.Shapes("SETA").Left = 10 Then
        
        Plan1.Shapes("SETA").Left = 20
        
        Else
        
        Plan1.Shapes("SETA").Left = 10
        
        End If
    
    Call Iniciar
    End Sub
    

    fonte:

    site:

    Código Fonte

    Página:

    Criando um timer em VBA

    sábado, 18 de janeiro de 2014 13:56