Notifications
Clear all

Buscar dados

4 Posts
3 Usuários
0 Reactions
1,887 Visualizações
(@robertonl)
Posts: 0
New Member
Topic starter
 

Boa noite.
Estou trabalhando em uma planilha, porém minha listbox sé é preenchida se a guia em que se encontra os dados estiver aberta.
se outra guia estiver aberta as informações não são puxadas. utilizei o codigo abaixo.
os dados encontram-se na guia Dados_Atualizados
Formulario Vba Cadastro_Dizimista
Foi colocado em "EstaPasta_de_Trabalho"

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name <> "Dados_Atualizados" And Cadastro_Dizimista.Visible = True Then
    Unload UserForm2
End If
If Sh.Name = "dados_ATUALIZADOS" And Cadastro_Dizimista.Visible = False Then
    UserForm2.Show
End If
 
Postado : 01/05/2019 6:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

.
Como pedem as regras do fórum, e para agilizar a solução, é sempre bom postar o arquivo (ou um arquivo exemplo idêntico)!!
.

 
Postado : 01/05/2019 7:42 pm
(@robertonl)
Posts: 0
New Member
Topic starter
 

Arquivo é muito grande mesmo reduzindo as informações.
Qual a melhor forma de enviar as informações

 
Postado : 01/05/2019 9:13 pm
(@srobles)
Posts: 0
New Member
 

robertonl,

Na rotina que "alimenta" o ListBox, você tem a opção de apontar de qual guia as informações serão obtidas.

'Desabilitamos a atualização de tela
Application.ScreenUpdating = False

'Com a guia onde os dados estão
With ThisWorkBook.Sheets(nomeGuia) 'Substitua nomeGuia pelo mesmo nome da guia entre Aspas Duplas.
   Dim linhaIni, linhaFim As Long
   
   'Se ela não estiver visivel, a tornamos visivel
   If .Visible = False Then
      .Visible = True
   End If      

   'Variáveis para usarmos no laço que preenche o ListBOx
   linhaIni = 2 'Primeira linha á contar após o cabeçalho 'Linha Inicial
   linhaFim = .Cells(Rows.Count,1).End(xlUp).Row 'Ultima linha preenchida da guia 'Ultima linha

   'Adicionamos os dados ao ListBox
   While linhaIni<=linhaFim
      UserForm1.ListBox1.AddItem .Cells(linhaIni,1) 'Para a coluna A
      UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount -1 ,1) = .Cells(linhaIni,2) 'Para a coluna B
      UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount -1 ,2) = .Cells(linhaIni,3) 'Para a coluna C
      'Repita as instruções para as demais colunas
      linhaIni = linhaIni + 1
   Wend
   
    'Ocultamos a guia
   .Visible= False

'Habilitamos a atualização de tela
Application.ScreenUpdating = True
End With

Dessa forma, apenas basta que a guia em questão esteja visivel.

Espero ter ajudado.

Abs

 
Postado : 02/05/2019 9:45 am