Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Variar dinamicamente o UserForm dentro de uma rotina de repetição
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Mai 22, 2020 2:39 pm
Variar dinamicamente o UserForm dentro de uma rotina de repetição
Tenho uma rotina de repetição (For) comum para várias UserForms, onde "X" (UserFormX) varia de acordo com "i".
Como faço para variar o indice do Userform?
For i = 1 To 10
If Sheets("Plan1").Range("J" & i) <> "" Then
UserFormX.Commandbutton.ForeColor = RGB(255, 0, 0)
' Userform("i") não funciona
End If
Next
att.
Carlos H.
Como faço para variar o indice do Userform?
For i = 1 To 10
If Sheets("Plan1").Range("J" & i) <> "" Then
UserFormX.Commandbutton.ForeColor = RGB(255, 0, 0)
' Userform("i") não funciona
End If
Next
att.
Carlos H.
Re: Variar dinamicamente o UserForm dentro de uma rotina de repetição
Código: Selecionar todos
Dim c As Object
For Each c In ThisWorkbook.VBProject.VBComponents
If c.Type = 3 Then
MsgBox c.Name
End If
Next
Fonte: https://stackoverflow.com/a/23548104
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Mai 22, 2020 2:39 pm
Re: Variar dinamicamente o UserForm dentro de uma rotina de repetição
Não e isso que estou precisando. Vou tentar exemplificar melhor
Exemplo: tenho uma UserForm com 4 CommandButton. Acionando o CommandButon1 ele muda a cor da fonte dos demais.
Mais quero que essa troca de cor ocorra dentro de um "For"
Não consigo variar o CommandButton (poderia ser qualquer outro elemento) dentro de um laço de repetição.
att.
Carlos
Exemplo: tenho uma UserForm com 4 CommandButton. Acionando o CommandButon1 ele muda a cor da fonte dos demais.
Código: Selecionar todos
Private Sub CommandButton1_Click()
UserForm1.CommandButton2.ForeColor = RGB(255, 0, 0)
UserForm1.CommandButton3.ForeColor = RGB(255, 0, 0)
UserForm1.CommandButton4.ForeColor = RGB(255, 0, 0)
End Sub
Código: Selecionar todos
For i = 2 To 4
UserForm1.CommandButton(i).ForeColor = RGB(255, 0, 0)
Next
Não consigo variar o CommandButton (poderia ser qualquer outro elemento) dentro de um laço de repetição.
att.
Carlos
Re: Variar dinamicamente o UserForm dentro de uma rotina de repetição
Carlos,
Seu trecho de código menciona isso:
E foi isso que respondi
Seu trecho de código menciona isso:
Código: Selecionar todos
' Userform("i") não funciona
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Sex Mai 22, 2020 2:39 pm
Re: Variar dinamicamente o UserForm dentro de uma rotina de repetição
Desculpa, mais não consegui entender sua resposta. O exemplo que mostrei é básico, só trocar a cor das fontes dos CommandButton dentro de um "For", não conseguir aplicar a sua resposta.
Re: Variar dinamicamente o UserForm dentro de uma rotina de repetição
Carlos,
Isso mereceria um outro tópico, mas já que estamos aqui, tente isso:
Isso mereceria um outro tópico, mas já que estamos aqui, tente isso:
Código: Selecionar todos
Sub TrocaCor()
Dim botao As MSForms.Control
For Each botao In Me.Controls
If TypeName(botao) = "CommandButton" Then botao.ForeColor = RGB(255, 0, 0)
Next botao
End Sub