Ir ao conteúdo
  • Cadastre-se

GuilhermeDR

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por GuilhermeDR

  1. Boa tarde!

     

     Estou na seguinte situação:

     

    1) Tenho um Banco de dados com 22 colunas, com nome/código de clientes e produtos, por exemplo.

    2) Em uma Useform faço uma pesquisa relacionando os produtos vendidos para clientes. A informação da pesquisa é mostrada em um LISTBOX;

     

    Portanto eu posso pesquisar quantos produtos Y eu forneci para o cliente X.

    E posso realizar outras várias pesquisas também.

     

    Desta forma, tenho um número indeterminado de linhas na minha pesquisa que será mostrado na Listbox.

     

    A programação que faz essa pesquisa eu já tenho e funciona, o meu problema é a quantidade de linhas que ela ocupa na LISTBOX.

     

    Gostaria que vocês me ajudassem a modificar a programação a fim de que seja mostrado na LISTBOX somente o que foi consultado. As linhas em branco não precisam estar na LISTBOX (que é o que acontece). -- Percebam que a Array é bem grande "Dim MyArray(4000, 22)"

     

    Segue programação abaixo: (ela não está completa pois ficaria muito grande, mas dá para visualizar).

    Private Sub PreencheLista()    Dim ws As Worksheet    Dim i As Integer    Dim x As Integer        Dim ClienteCelula As String    Dim ProdutoCelula As String    Dim RefCelula As String        Dim ClienteDigitado As String    Dim ProdutoDigitado As String    Dim RefDigitado As String        Dim MyArray(4000, 22)        Qtdlinhas = ThisWorkbook.Sheets("BD_DOC").Cells(Rows.Count, 1).End(xlUp).row        ListBox1.ColumnWidths = "30;20;20;50;40;100;20;100;100;30;30;30;30;30"    '---    i = 1    x = 0    linha = j    C = j + 2    linhac = C'-- Pesquisa Cliente Vs Produto If (Me.MultiPage1.Value = 0) Then    ListBox1.Clear    ClienteDigitado = cbPesqCodCliente.Text    ProdutoDigitado = cbPesqCodProduto.Text        With ThisWorkbook.Worksheets("BD_DOC")    '---        While .Cells(i, 1).Value <> Empty                  ProdutoCelula = .Cells(i, j).Value          ClienteCelula = .Cells(i, C).Value                    If ((checkPrimeira.Value = False) And (checkPadrao.Value = False)) Then                      'Pesquisa Clientes             If ((cbPesqCodCliente.Text <> "") And (cbPesqCodProduto.Text = "")) Then             If (ClienteCelula = ClienteDigitado) Then                   For j = 1 To 22                     MyArray(x, j - 1) = .Cells(i, j).Value                   Next j                   x = x + 1                   C = linhac             End If             i = i + 1             End If       End If    End With            ListBox1.List() = MyArray                        Label36.Caption = x            If (Label36 = 0) Then MsgBox "Nenhum item encontrado. Tente outro valor."

    Avisando que estou programando no Visual Basic e o banco de dados é uma planilha do EXCEL.

     

    Acredito ter colocado a programação ali em cima com formato errado. Ficou estranho.. kkkk'

    Aos poucos vou aprendendo.

  2. Boa tarde Galera,

     

     Estou na seguinte situação e estou precisando de ajuda.

     

     A situação é que há tempos se fazia registro de produtos através de planilhas.

     Ou seja, cada produto que era vendido possuía uma planilha dedicada que armazenava dados do produto, da venda, etc.

     

     Com o passar do tempo a empresa foi crescendo e se viu a necessidade de implementar um sistema melhor. Ou seja, um banco de dados (ainda no excel).

     

     O fato é que os registros anteriores estão em planilhas individuais e os novos estão em um banco de dados (linha por linha).

     Minha intenção é importar as documentações antigas (das planilhas individuais) para este novo Banco de Dados (BD).

     

     Preciso de ajuda para criar uma rotina no VBA que faça isso:

     - Vá até a pasta onde as planilhas de documentação estão (só há elas na pasta);

     - Abra a planilha, copia os dados das células: B5,B6,B7 .... B16, e B20.

     - Cole nas linhas do Banco de Dados

     - Feche a planilha da documentação individual

     - Abra a planilha seguinte, repita a operação até que todas as planilhas da pasta sejam abertas.

     

     

    Informação:

     As planilhas de documentação antigas, possuem formato padrão. Ou seja, na célula B5, de todas as planilhas, terá a mesma espécie de informação (Exemplo: DATA).

     

    Fico no aguardo.

     

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!