MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Não consigo somar mais de uma coluna na Listbox

    avatar
    mvalias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 31/07/2014

    Não consigo somar mais de uma coluna na Listbox Empty Não consigo somar mais de uma coluna na Listbox

    Mensagem  mvalias 10/1/2015, 01:19

    Não estou conseguindo somar as próximas colunas do Listbox, somente a primeira da certo as outras aparece a mensagem de erro na linha da função " valor = lst_buscab.List(Item, 0) * 1"
    alguém pode me ajudar?
    Segue o cógido da primeira para somar a primeira e a segunda coluna:

    Dim lItem As Double
    Dim valor As Integer
    somadelotesnaodivergente = 0
    For lItem = 0 To lst_buscab.ListCount - 1
    valor = lst_buscab.List(Item, 0) * 1
    somadelotesnaodivergente = (somadelotesnaodivergente) + (valor)
    Next



    somadeloteatequinzeporcentodivergente = 0
    For lItem = 0 To lst_buscab.ListCount - 1
    valor = lst_buscab.List(Item, 1) * 1
    somadeloteatequinzeporcentodivergente = (somadeloteatequinzeporcentodivergente) + (valor)
    Next
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  Noobezinho 10/1/2015, 14:36

    Olá Moises

    Experimente assim:

    Copie e cole essa função na folha vba do formulário:


    Private Function SomaColListbox(xcol As Integer) As Double


       Dim varTotal As Double
       Dim varRow As Integer
       
       For varRow = 1 To (Lista2.ListCount - 1)
       varTotal = varTotal + Lista2.Column(xcol, varRow)
       Next
       SomaColListbox = varTotal


    End Function

    Substitua o nome para o nome da tua listbox

    Depois é chamar a função no evento Ao abrir do formulário:

    Me.tot1 = SomaColListbox(1) soma a 2ª coluna da listbox
    Me.tot2 = SomaColListbox(3) soma a 4ª coluna da listbox

    Formate as caixas de texto de acordo com o tipo de valor (moeda, número, etc)

    [ ]'s

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    mvalias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 31/07/2014

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  mvalias 10/1/2015, 20:31

    Olá Noobezinho.

    Obrigado pela ajuda. Somente não entendi o que devo colocar no lugar do texto "xcol".
    A função ficou assim:

    Private Function SomaColListbox(xcol As Integer) As Double

    Dim varTotal As Double
    Dim varRow As Integer

    For varRow = 1 To (lst_buscab.ListCount - 1)
    varTotal = varTotal + lst_buscab.column(xcol, varRow)
    Next
    somadelotesnaodivergente = varTotal

    End Function
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  Noobezinho 10/1/2015, 22:30

    xcol = número da coluna, lembrando que as colunas são ordenadas a partir de 0.

    Uma listbox com 4 colunas tem os números de colunas: 0,1,2 e 3

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    mvalias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 31/07/2014

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  mvalias 11/1/2015, 00:55

    Noobezinho, infelizmente ainda não funcionou, quando coloco o número da coluna a linha fica vermelha indicando que era esperado identificador. Veja como ficou.

    Private Function SomaColListbox(1col As Integer) As Double
    Dim varTotal As Double
    Dim varRow As Integer
    For varRow = 1 To (lst_buscab.ListCount - 1)
    varTotal = varTotal + lst_buscab.Column(1, varRow)
    Next
    SomaColListbox = varTotal
    End Function
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  Noobezinho 11/1/2015, 01:08

    Está colocando o número da coluna no lugar errado.

    Private Function SomaColListbox(1col As Integer) As Double

    xcol é uma variável
    Na função só deve colocar o nome da tua listbox.

    Veja com atenção a minha primeira mensagem onde diz:

    Depois é chamar a função no evento Ao abrir do formulário:

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    mvalias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 31/07/2014

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  mvalias 11/1/2015, 03:54

    Noob, substitui somente o nome da listbox mas continua aparecendo erro. Estou enviando uma figura anexa.

      Private Function SomaColListbox(xcol As Integer) As Double

    Dim varTotal As Double
      Dim varRow As Integer
      For varRow = 1 To (lst_buscab.ListCount - 1)
      xcol = Column
      varTotal = varTotal + lst_buscab.Column(xcol, varRow)
      Next
      SomaColListbox = varTotal

    End Function
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  Noobezinho 11/1/2015, 09:58

    Dim varTotal As Double
     Dim varRow As Integer
     For varRow = 1 To (lst_buscab.ListCount - 1)
    xcol = Column  'Essa linha não existe
     varTotal = varTotal + lst_buscab.Column(xcol, varRow)
     Next
     SomaColListbox = varTotal

    End Function

    Vou puxar tua orelha, sinto, mas estou observando que está simplesmente copiando e colando o código sem analisar e entender
    o que o código está fazendo em cada linha.
    A exemplo disso é a linha em vermelho, que você colocou a teu critério:
    xcol = Column

    O que o Access está fazendo com essa linha?
    E porque ela não deve figurar no código?

    Esse algoritmo e bem simples, se não procurar entender o que ele faz,
    ficará muito mais difícil entender um código mais complexo.

    Mesmo não sabendo como fez a chamada para a função, acredito
    que tirando essa linha, vai funcionar.

    Caso ainda não funcione:

    Descreva na ordem, quantas colunas tem tua listbox e o tipo de cada uma

    Copie e cole a chamada para a função que deve estar no evento ao Abrir do formulário

    Aguardo...


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    mvalias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 31/07/2014

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  mvalias 11/1/2015, 14:59

    Obrigado pro tentar ajudar, mas fiz tudo e ainda ainda contiuna com erro aprarecendo o fundo amarelo no mesmo lugar. Abaixo está a primeira função e a segunda que função para a chamada.

    Private Function SomaColListbox(xcol As Integer) As Double

    Dim varTotal As Double
    Dim varRow As Integer
    For varRow = 1 To (lst_buscab.ListCount - 1)
    varTotal = varTotal + lst_buscab.Column(xcol, varRow)
    Next
    SomaColListbox = varTotal

    End Function


    Private Sub TextBox3_Change()

    ' Condição... se não for selecionado as datas para pesquisa não vai executar o código
    If Me.ComboBox1 = "" Or Me.ComboBox2 = "" Then

    MsgBox ("Favor preencher a data inicial e final para a pesquisa")
    Me.ComboBox1.SetFocus
    Exit Sub

    'se estiverem preenchidas as datas a pesquisa será feita
    Else

    valor_pesq = TextBox3.Text

    Dim guia As Worksheet
    Dim linha As Integer
    Dim coluna As Integer
    Dim coluna_data As Integer
    Dim linhalistbox As Integer
    Dim valor_celula As String
    Dim valor_celula_data As Date
    Dim conta_registros As Integer

    Dim data_inicio As Date
    Dim data_fim As Date

    Set guia = ThisWorkbook.Worksheets(1)

    data_inicio = Me.ComboBox1
    data_fim = Me.ComboBox2
    linhalistbox = 0
    conta_registros = 0
    linha = 2
    coluna = 4
    coluna_data = 2

    lst_buscab.Clear

    Sheets("Plan1").Select

    With guia
    While .Cells(linha, coluna).Value <> Empty
    valor_celula = .Cells(linha, coluna).Value 'recebe o valor da célula para fazer o teste
    valor_celula_data = .Cells(linha, coluna_data).Value 'recebe o valor da data para fazer o teste

    'Condição para satisfazer a busca tem que ser igual ao valor da texbox1 e estar entre o valor inicial e final das datas
    If UCase(Left(valor_celula, Len(valor_pesq))) = UCase(valor_pesq) _
    And valor_celula_data >= data_inicio _
    And valor_celula_data <= data_fim Then
    'adiciona itens a listbox
    With lst_buscab
    .AddItem
    .List(linhalistbox, 1) = Sheets("Plan1").Cells(linha, 24) 'lotes de > que 10& até 15% divergência
    .List(linhalistbox, 2) = Sheets("Plan1").Cells(linha, 25) 'lotes de > 15% divergência

    linhalistbox = linhalistbox + 1
    End With

    conta_registros = conta_registros + 1

    End If
    linha = linha + 1
    Wend
    End With

    Me.lbl_registros = "Entre " & data_inicio & " e " & data_fim & " foram encontrados " & conta_registros & " registros."

    End If

    Me.somadeloteatequinzeporcentodivergente = SomaColListbox(1) 'soma a 2ª coluna da listbox
    Me.somadelotemaiorquequinze = SomaColListbox(2) 'soma a 3ª coluna da listbox

    End Sub
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  Noobezinho 11/1/2015, 16:36

    Moisés

    Vejo que está preenchendo a listbox com dados de uma planilha.

    Seria possível, separar a planilha e o formulário em questão para eu poder fazer testes?

    Acho muito melhor do que ficarmos na tentativa e erro,não acha?

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    mvalias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 31/07/2014

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  mvalias 11/1/2015, 20:02

    Noobezinho, finalmente funcionou!! Muito obrigado pela ajuda. Deus lhe abençoe.
    Quando tu disse que os dados da listbos estão vindo de uma planilha me abriu os olhos, o problema que a formula cita que "For Item = 0 To lst_buscab.ListCount - 1" e na planilha em alguns casos quando não tinha valor ficava em branco em vez do número "0". Creio que foi isto que não dava certo. Veja como ficou. Mais uma vez obrigado!

    Dim Item As Double
    Dim valor As Double


    somadelotesnaodivergente = 0
    For Item = 0 To lst_buscab.ListCount - 1
    valor = lst_buscab.List(Item, 0) * 1
    somadelotesnaodivergente = (somadelotesnaodivergente) + (valor)
    Next

    somadeloteatequinzeporcentodivergente = 0
    For Item = 0 To lst_buscab.ListCount - 1
    valor = lst_buscab.List(Item, 1) * 1
    somadeloteatequinzeporcentodivergente = (somadeloteatequinzeporcentodivergente) + (valor)
    Next


    somadelotemaiorquequinze = 0
    For Item = 0 To lst_buscab.ListCount - 1
    valor = lst_buscab.List(Item, 2) * 1
    somadelotemaiorquequinze = (somadelotemaiorquequinze) + (valor)
    Next
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  Noobezinho 11/1/2015, 22:16

    Ótimo Moises cheers

    Parabéns!!

    Retiro o que disse, hehehe, você sabe se virar e muito bem !! study

    Valeu ter retornado

    Boa sorte !!

    Noob



    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    Não consigo somar mais de uma coluna na Listbox Empty Re: Não consigo somar mais de uma coluna na Listbox

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 09:18