Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Vários handlers para um mesmo código

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Lberteh



Mensagens : 1
Data de inscrição : 16/08/2013

MensagemAssunto: Vários handlers para um mesmo código   Sex Ago 16, 2013 3:48 pm

Gostaria de solicitar o auxílio de vocês. Sou inciante no VBA mas fui solicitado pela empresa para que eu automatize uma planilha de trabalho e estou precisando concluir com uma certa urgência. Tento aprender o mais depressa possível porém algumas coisas mais avançadas estou tendo que programar com "dirty code" sem entender exatamente o que estou fazendo. No momento eu empaquei na seguinte questão. Tenho o código abaixo que funciona perfeitamente.

Private Sub Label3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Label3.ForeColor = vbWhite
Label3.SpecialEffect = 1
Label3.BackStyle = 1
Label3.BackColor = &H808000

End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Label3.ForeColor = vbBlack
Label3.SpecialEffect = 0
Label3.BackStyle = 0

End Sub


Meu problema é que preciso utilizar exatamente o mesmo código para outras 500 labels (aproximadamente) dentro do mesmo userform. Sei que existe uma forma de fazer isso sem ter que colocar o código individualmente para cada Label, porém até agora não tive sucesso. Alguma solução?

Obrigado!
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Vários handlers para um mesmo código   Sab Ago 17, 2013 1:08 am

Boa noite!!

Use os laços de repetição...

Leia:
http://www.ozgrid.com/VBA/control-loop.htm
Tente adaptar
Código:
Sub AleVBA_I()

For i = 1 To 500
    With Sheets("Sheet1")
        If .Cells(i, "A").Value = "NO DATA" Then _
          Me.Controls("Label" & i).BackColor = RGB(200, 200, 200)
        Me.Controls("Label" & i).Caption = .Cells(i, "A").Value
    End With
Next i

End Sub
Código:
Sub AleVBA_II()
For i = 1 To 500
    Me.Controls("label" & i).Caption = Worksheets("sizing").Range("C" & i + 12)
Next

End Sub
Código:
Sub AleVBA_III()
UserForm2.Show vbModeless
Dim theLabel As Object
Dim labelCounter As Long

For labelCounter = 1 To 500
    Set theLabel = UserForm2.Controls.Add("Forms.Label.1", "Test" & labelCounter, True)
    With theLabel
        .Caption = "Test" & labelCounter
        .Left = 10
        .Width = 50
        .Top = 10 * labelCounter
    End With
Next
End Sub
Código:
Private Sub UserForm_Activate()

For q = 0 To 500
    Me.Controls("Label" & q).Caption = Range("A1").Offset(q, 0).Value
Next q

End Sub
Obs: Os exemplos acima, são alheios e difere de sua necessidade, por favor se esfosse em adapta-los!

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
 
Vários handlers para um mesmo código
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Mais de um rank para um mesmo membro
» [Resolvido] Dois domínios diferentes que redirecionam para o mesmo fórum
» Ganhar dinheiro online com questionários para empresa Portuguesa
» codigo para full screen e para tela normal
» Dúvida com código css do perfil

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: