Notifications
Clear all

VBA executando uma private e vai para outra sem terminar?

5 Posts
3 Usuários
0 Reactions
1,065 Visualizações
(@betofox)
Posts: 0
New Member
Topic starter
 

Estou com o seguinte problema.

O VBA no Excel está executando uma preivate sub e não termina a quê esta executando e vai para outra e quando
termina a outra volta para que parou o que pode ser isso?
Está executando esta:

Vai pata esta linha de execução:

E pula para esta:

?

 
Postado : 17/11/2014 9:16 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tente postar seu arquivo modelo compactado, aqui no fórum!!

Att

 
Postado : 17/11/2014 10:01 am
(@rlm)
Posts: 0
New Member
 

Sem ver o arquivo e poder "acompanhar", fico no achômetro.
Acho que por utilizar o usedRange na rotina ..Combobox26_Change(), pois na rotina anterior a range e modificada com a informação do combo1. Mas é um acho
Poste seu arquivo (use informações fictícias se necessário) com alguns dados para que possa obter uma resposta mais direcionada/precisa

 
Postado : 17/11/2014 10:13 am
(@betofox)
Posts: 0
New Member
Topic starter
 

Está compactado!

 
Postado : 17/11/2014 10:57 am
(@rlm)
Posts: 0
New Member
 

Sem entrar na questão de lógica do formulário/rotinas, pois ainda não as entendi; o motivo para a situação apontada pelo que pude compreender é o "preenchimento" do combobox26 utilizando-se row source -->"ComboBox26.RowSource = "Doador!B2:B" & totalnomes",
a utilização do UsedRangepara definição da linha final --> totalnomes = Worksheets("Doador").UsedRange.Rows.Count,
Altere na abertura do formulario -> UserForm_Activate
de

    totalnomes = Worksheets("Doador").UsedRange.Rows.Count
    ComboBox1.RowSource = "Doador!B2:B" & totalnomes
    ComboBox26.RowSource = "Doador!B2:B" & totalnomes

para

totalnomes = Worksheets("Doador").Cells(Cells.Rows.Count, "B").End(xlUp).Row
For x = 2 To totalnomes
    ComboBox1.AddItem Sheets("Doador").Range("B" & x)
    ComboBox26.AddItem Sheets("Doador").Range("B" & x)
Next

Eu particularmente recomendo não utilizar o UsedRange, então se possível altere e utilize Cells(Cells.Rows.Count, "B").End(xlUp).Row para o(s) itens que necessita da quantide de linhas no arquivo.

 
Postado : 17/11/2014 1:41 pm