Notifications
Clear all

[Resolvido] pesquisar aba

10 Posts
3 Usuários
0 Reactions
1,589 Visualizações
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa tarde

Venho por esta via solicitar ajuda para a resolução do seguinte problema.
No formulário "Userform4" pretendia que a "combobox5" selecionasse a aba correspondente ao ano e plasmasse na "combobox1! os nomes da coluna "B". Desde já grato pela atenção dispensada.

RM

 
Postado : 13/09/2022 12:58 pm
(@kikoerick)
Posts: 51
Trusted Member
 

Boa noite Rui, tente o código abaixo:

Private Sub ComboBox5_Change()
    Dim indice, inicio, fim As Integer
    
    indice = Me.ComboBox5.ListIndex + 1
    
    For n = 1 To Sheets.Count
        If Sheets(n).Index = indice Then
            Sheets(n).Activate
            
            Me.ComboBox1.Clear
    
            inicio = 2
            fim = Sheets(n).Range("B2:B1000000").Find(Empty).Row
            
            While inicio < fim
                Me.ComboBox1.AddItem Sheets(n).Cells(inicio, 2).Value
                inicio = inicio + 1
            Wend
            
            Exit For
        End If
    Next n
    
End Sub
 
Postado : 19/09/2022 6:31 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Obrigado Kikoerick grato

Funciona, mas se selecionar o ano 2021 na combobox5, e selecionar o nome na combobox1, já não vai buscar os dados do montante em divida nesse ano e mês que tem que aparecer na textbox4.

Grato desde já pela disponibilidade

Rui Maciel

 
Postado : 20/09/2022 5:10 pm
(@kikoerick)
Posts: 51
Trusted Member
 

Boa noite Rui, tente o código abaixo no combobox4

 

Fiz algumas alterações também no combobox5, para carregar os meses somente após o preenchimento. (está no arquivo)

Private Sub ComboBox4_Change()
    Dim linha, coluna As Integer

    If Me.ComboBox5.Text <> "" And Me.ComboBox1.Text <> "" And Me.ComboBox4.Text <> "" Then
        
        linha = Range("B1:B1000000").Find(Me.ComboBox1.Text).Row
        coluna = Range("A1:Z1").Find(Me.ComboBox4.Text).Column

        Me.TextBox4.Text = Format(Cells(linha, coluna).Value, "Currency")
        
    End If
End Sub
 
Postado : 21/09/2022 7:00 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa tarde meu Caro

Envio o erro que dá, grato desde já

Rui Maciel

 
Postado : 22/09/2022 10:04 am
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa tarde

Alguém tem uma ideia, obrigado.

 
Postado : 02/10/2022 11:57 am
(@osvaldomp)
Posts: 858
Prominent Member
 

Experimente:

Private Sub ComboBox5_Change()
 Dim r As Range
  Set r = Sheets(ComboBox5.Text).Range("B2:B" & Sheets(ComboBox5.Text).Cells(Rows.Count, 2).End(3).Row)
  ComboBox1.RowSource = Sheets(ComboBox5.Text).Range(r.Address).Address(external:=True)
  ComboBox1.ListIndex = 0
End Sub

Osvaldo

 
Postado : 02/10/2022 3:09 pm
(@kikoerick)
Posts: 51
Trusted Member
 

Acredito que há a necessidade de selecionar a Plan1 primeiro, antes de selecionar o Range

 

Plan1.Select

 

 
Postado : 02/10/2022 3:26 pm
(@osvaldomp)
Posts: 858
Prominent Member
 

@kikoerick Por acaso o seu comentário se refere ao código que postei ?

Osvaldo

 
Postado : 02/10/2022 4:03 pm
(@rui-maciel)
Posts: 190
Reputable Member
Topic starter
 

Boa noite, meus caros.

Infelizmente, o aplicativo não retorna aquilo que esperava, ou seja, com o userform4 pretendo selecionar a aba do ano, depois o cliente dentro dessa aba para liquidar o montante em divida. Subtraindo o valor na célula correspondente ao mês desse ano, será possível?

E de cada vez que criar um ano ele automaticamente aparecer na combobox5.

Obrigado desde já pela disponibilidade.

Abr.,

Rui Maciel

 
Postado : 10/10/2022 6:14 pm