none
Combobox Carrega datas, mas ao escolher uma fica formatado como "Geral" RRS feed

  • Pergunta

  • Olá pessoal!

    Tenho um Combobox que carrega os dados "DATA" de uma planilha normalmente, e registra as informações normalmente como "DATA". Porém quando clico no Combobox e seleciono uma das datas, ela fica formatada como "GERAL" no Objeto, ou seja, ao invés de ficar o texto como: 09/12/2020, fica: 45666.

    Alguém pode me ajudar:, segue o código abaixo do form e funções que ele carrega:

    -------------------------------------------------------------------

    Private Sub UserForm_Initialize()

    ComboBox_produtos.RowSource = listaprodutos
    ComboBox_marca.RowSource = listamarca
    ComboBox_data.RowSource = listadataestoque

    ListBoxProdutos.RowSource = listboxestoque

    End Sub

    -------------------------------------------------------------------

    -------------------------------------------------------------------

    Private Sub Image_filtrar_Click()

    Planilha5.Range("a2:f2").Clear

    Planilha5.Cells(2, 1).Value = ComboBox_produtos.Value
    Planilha5.Cells(2, 2).Value = ComboBox_marca.Value
    Planilha5.Cells(2, 6).Value = CDate(ComboBox_data.Value)

    Call filtrarestoque
    ListBoxProdutos.RowSource = listarprodutosfiltrados

    -------------------------------------------------------------------

    -------------------------------------------------------------------

    Function listaprodutos()
    Dim numerolinha As Integer, basedados As Range

    numerolinha = Planilha6.Range("a1").CurrentRegion.Rows.Count
    Set basedados = Planilha6.Range(Planilha6.Cells(2, 1), Planilha6.Cells(numerolinha, 1))

    listaprodutos = basedados.Address(, , , True)

    End Function

    -------------------------------------------------------------------

    -------------------------------------------------------------------

    Function listamarca()
    Dim numerolinha As Integer, basedados As Range

    numerolinha = Planilha6.Range("a1").CurrentRegion.Rows.Count
    Set basedados = Planilha6.Range(Planilha6.Cells(2, 2), Planilha6.Cells(numerolinha, 2))

    listamarca = basedados.Address(, , , True)

    End Function

    -------------------------------------------------------------------

    -------------------------------------------------------------------

    Function listadataestoque()
    Dim numerolinha As Integer, basedados As Range

    numerolinha = Planilha6.Range("a1").CurrentRegion.Rows.Count
    Set basedados = Planilha6.Range(Planilha6.Cells(2, 6), Planilha6.Cells(numerolinha, 6))

    listadataestoque = basedados.Address(, , , True)

    End Function

    -------------------------------------------------------------------

    Function listarprodutosfiltrados()
    Dim numerolinha As Integer, basedados As Range

    numerolinha = Planilha5.Range("a4").CurrentRegion.Rows.Count + 3
    Set basedados = Planilha5.Range(Planilha5.Cells(5, 1), Planilha5.Cells(numerolinha, 6))

    listarprodutosfiltrados = basedados.Address(, , , True)

    End Function

    -------------------------------------------------------------------

    -------------------------------------------------------------------

    Function listboxestoque()
    Dim numerolinha As Integer, basedados As Range

    numerolinha = Planilha6.Range("a1").CurrentRegion.Rows.Count
    Set basedados = Planilha6.Range(Planilha6.Cells(2, 1), Planilha6.Cells(numerolinha, 6))

    listboxestoque = basedados.Address(, , , True)

    End Function

    -------------------------------------------------------------------

    sexta-feira, 11 de dezembro de 2020 00:16

Todas as Respostas

  • Planilha5.Cells(2, 6).NumberFormat = "m/d/yyyy"

    ou

    Planilha5.Cells(2, 6).NumberFormat = "d/m/yyyy"


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com


    Não entendi meu amigo, você orientou substituir a expressão abaixo por a sua seguinte...
    Então, onde fica o restante do comando (Value = CDate(ComboBox_data.Value))?

    Planilha5.Cells(2, 6).Value = CDate(ComboBox_data.Value)

    Planilha5.Cells(2, 6).NumberFormat = "m/d/yyyy"

     
    sábado, 19 de dezembro de 2020 22:31
  • Não deu certo

    tentei das três formas abaixo e não deu certo

    Planilha5.Cells(2, 6).Value = CDate(ComboBox_data.Value)

    Planilha5.Cells(2, 6).Value = format(ComboBox_data.Value, "dd/mm/yyyy")

    Planilha5.Cells(2, 6).Value = format(ComboBox_data.Value, "mm/dd/yyyy")


    segunda-feira, 21 de dezembro de 2020 02:02
  • só acrescentando, o objeto funciona normalmente, porém quando seleciono uma data "20/12/2020" no combobox, ela fica no objeto como "45644", mas tá registrando na planilha como: "20/12/2020".
    segunda-feira, 21 de dezembro de 2020 02:07
  • Não sei o que é esse objeto.

    Quando você for passar a data para ele, converta para data CDate(  )


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    O objeto que falo é o "ComboBox_data"
    segunda-feira, 21 de dezembro de 2020 20:53
  • Private Sub ComboBox1_Change()
    On Error Resume Next
    Me.ComboBox1.Value = CDate(Me.ComboBox1.Value)
    End Sub


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    segunda-feira, 21 de dezembro de 2020 21:19