none
Como carrego dados do tipo data em um ListBox sem que inverta o mês e o dia? RRS feed

  • Pergunta

  • Pessoal, preciso de uma grande ajuda. Criei um ListBox e ao preencher o mesmo com uma data da planilha ele inverte o mês e o dia.

    Ex: (NA PLANILHA):   02/06/2013

          (NO LISTBOX):    06/02/2013

    Qualquer coisa, posso colocar o código aqui.

    Desde já agradeço.

    terça-feira, 19 de março de 2013 12:44

Todas as Respostas

  • Qual código está usando para adicionar dados?

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 19 de março de 2013 21:23
    Moderador
  • Sub PreencherLista()
    
    Dim UltimaLinha As Long
    Dim Linha As Integer
    
    UltimaLinha = Sheet1.Range("B20000").End(xlUp).Row
    
    For Linha = 12 To UltimaLinha
    
    UserForm1.ListBox1.AddItem Sheet1.Range("B" & Linha)
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 1) = Sheet1.Range("C" & Linha)
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 2) = Sheet1.Range("D" & Linha)
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 3) = Sheet1.Range("E" & Linha)
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 4) = Sheet1.Range("F" & Linha)
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 5) = Sheet1.Range("G" & Linha)
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 6) = Sheet1.Range("H" & Linha)
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 7) = Sheet1.Range("I" & Linha)
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 8) = Sheet1.Range("J" & Linha)
    
    Next
    
    End Sub
    
    Estou usando esse aí. Não sei se a melhor maneira. Agradeço a ajuda.
    quarta-feira, 20 de março de 2013 01:44
  • Tente adicionar todos os itens da caixa de listagem de uma vez:

    Private Sub UserForm_Initialize()
        Dim lngLast As Long
        Dim lngLin As Integer
        Dim varBanco As Variant
        Dim Sheet1 As Worksheet
        Set Sheet1 = ThisWorkbook.Sheets("Plan1")
        
        lngLast = Sheet1.Cells(Sheet1.Rows.Count, "B").End(xlUp).Row
        varBanco = Range("B12").Resize(lngLast - 12 + 1, 9)
        Me.ListBox1.List = varBanco
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 20 de março de 2013 23:02
    Moderador
  • Benzadeus entendi bem o que você disse e acho que pode dar certo sim. Mas está dando esse erro:

    Invalid Use of Me keyword

    Utilizo excel 2010, pode ser isso?

    Obrigado.

    • Marcado como Resposta Brunoith quinta-feira, 21 de março de 2013 00:27
    • Não Marcado como Resposta Brunoith quinta-feira, 21 de março de 2013 00:31
    quinta-feira, 21 de março de 2013 00:27
  • Você está colando o código que te passei num formulário (Userform)?

    Se não, substitua

    Me.ListBox1.List = varBanco

    por:

    ListBox1.List = varBanco


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quinta-feira, 21 de março de 2013 00:55
    Moderador
  • Benzadeus desculpa por fazer perguntas idiotas, mas não tô conseguindo fazer isso há muito tempo e não consigo de jeito nenhum.

    Primeiro: O que você quer dizer com código no userform?

    Segundo: Coloquei o código no inicializate do userform e depois coloquei em um módulo, mas não da certo.

    Se puder me ajudar cara, vou agradecer muito. Você pode me mandar bem didático mesmo. Já faz um mês mais ou menos que tento e não consigo.

    Obrigado.

    quinta-feira, 21 de março de 2013 01:11
  • Baixe este exemplo pronto: https://skydrive.live.com/redir?resid=FB206A2D510E0661!680&authkey=!AFCSIxdibMdAQ1s

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quinta-feira, 21 de março de 2013 01:24
    Moderador
  • Benzadeus não sei se é só no meu, mas você reparou que a data está invertida, exatamente a minha dúvida. Nesse exemplo que você me deu todas as datas trocam mês e dia.


    quinta-feira, 21 de março de 2013 01:44