Continuação - Topic...
 
Notifications
Clear all

Continuação - Topico Botão de opção no Userform - Config.

9 Posts
5 Usuários
0 Reactions
1,276 Visualizações
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Boa tarde.

Alguém poderia me informar como se configura botão de opção no UserForm.

http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=1048
Achei este Topico, mas não houve resposta.

Acredito que com o exemplo em anexo, eu vou aprender a usar se alguém me ajudar, postando um modelo.

Quero inserir o mês desejado (Selecionado) na coluna A da Plan1.

No google também não achei nenhum modelo, ou tópico que ajude.

Obrigado!

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 03/06/2015 9:55 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Olá Carlos!
Se compreendi corretamente, uma opção de código para você inserir no evento click do botão Inserir é:

Private Sub CommandButton1_Click()
    Dim opt As Control
    For Each opt In Teste.Controls
        If opt = True Then
            Range("A1").Value = opt.Caption
        End If
    Next opt
    Unload Me
End Sub

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 03/06/2015 10:37 am
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Sim é o que eu estava procurando.

Vou adaptar conforme minha necessidade.

Obrigado!

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 03/06/2015 10:41 am
(@srobles)
Posts: 231
Estimable Member
 

Olá Carlos,

Veja se esse código te ajuda.

Private Sub CommandButton1_Click()
    Dim ctrl As Control
    Dim i As Integer
    i = ActiveSheet.UsedRange.Rows.Count
    If MsgBox("Deseja inserir o mês selecionado na primeira célula limpa da coluna A?", vbQuestion + vbYesNo, Me.Caption) = vbYes Then
        For Each ctrl In Me.Controls
            If Mid(ctrl.Name, 1, 12) = "OptionButton" Then
                If Me.Controls(ctrl.Name).Value = True Then
                    Cells(1, "A").Select
                        If ActiveCell = "" Then
                            ActiveCell.Value = Me.Controls(ctrl.Name).Caption
                            Exit For
                        Else
                            Cells(i + 1, "A").Value = Me.Controls(ctrl.Name).Caption
                            Exit For
                        End If
                End If
            End If
        Next
    End If
End Sub

[]s

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 03/06/2015 10:45 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Só complementado, se de repente você colocar outros controles no formulário, pode ser que dê problemas, pois o laço analisará todos controles inseridos. Então se quiser considerar somente os OptionButton, é só colocar mais uma condição no IF:

If TypeName(opt) = "OptionButton" And opt = True Then

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 03/06/2015 10:46 am
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Boa tarde.

Eu tentei aplicar de inúmeras maneiras, mas não consigo chegar no resultado que quero.

Criei o tópico http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=16078, para aprender a usar botão de opção no userform, mas não consegui.
Não postei novamente no tópico do link, pois foi trancado após eu clicar em resolvido :S

Estou postando o arquivo como utilizo atualmente e outro de como eu queria (queria pq ainda não sei se é possivel) usar.

No arquivo atual clicanco em inserir eu digito o mês, ano e os dados que desejo inserir.

Eu queria ao invés de digitar o mês, seleciona-lo em um botão de opção.

Mas observem que no arquivo atual, o userform insere em varias linhas o mês e ano, eu queria o mesmo utilizando o botão de opção.

Obrigado!

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 10/07/2015 10:07 am
(@adgere)
Posts: 76
Trusted Member
 
Private Sub CommandButton4_Click()
    
    Dim planAtiva As Worksheet
    Dim Mes       As String   '==========================================> Crie uma variavel Mes
    Application.ScreenUpdating = False
    Set planAtiva = ActiveSheet

    '==========================================> Verifique qual mês esta selecionado e atribua o valor à variavel Mes
    If OptionButton1.Value = True Then Mes = "Janeiro"
    If OptionButton2.Value = True Then Mes = "Fevereiro"
    If OptionButton3.Value = True Then Mes = "Março"
    If OptionButton4.Value = True Then Mes = "Abril"
    If OptionButton5.Value = True Then Mes = "Maio"
    If OptionButton6.Value = True Then Mes = "Junho"
    If OptionButton7.Value = True Then Mes = Julho
    If OptionButton8.Value = True Then Mes = "Agosto"
    If OptionButton9.Value = True Then Mes = "Setembro"
    If OptionButton10.Value = True Then Mes = "Outubro"
    If OptionButton11.Value = True Then Mes = "Novembro"
    If OptionButton12.Value = True Then Mes = "Dezembro"


Dim LastRow As Object

    Set LastRow = Plan2.Range("B5009").End(xlUp)
  
    '==========================================> Onde estava utilizando o combobox utilize a variavel
    LastRow.Offset(1, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(2, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(3, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(4, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(5, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(6, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(7, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(8, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(9, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(10, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(11, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(12, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(13, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(14, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(15, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(16, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(17, 0).Value = Mes & "/" & TextBox81
    LastRow.Offset(18, 0).Value = Mes & "/" & TextBox81
 
Postado : 10/07/2015 11:51 am
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Obrigado, vou testar.

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 10/07/2015 1:58 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Carlos

Para manter a boa organização do fórum, não crie 2 tópicos sobre o mesmo assunto.

Antes de clicar em "RESOLVIDO", faça testes, porque se clicar, eu tranco o tópico, para evitar que outros usuários utilizem o mesmo tópico.

Se por acaso for necessário destrancar o tópico, basta me enviar uma MP, solicitando a reabertura do Tópico.

[]s

Patropi - Moderador

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/07/2015 4:22 pm