Estou desenvolvendo um sistema VBA Excel 2007, de Vendas, onde eu tenho 8 planilhas que servem de base de dados, alguns UserForms de cadastro e um UserForm de Vendas.
A questão é a seguinte: Estou tendo problemas em auto numerar via macro, duas colunas, a A e a B da seguinte forma...
Coluna A = ID (ID sequencial para identificação de cada produto vendido)
Coluna B = COD VENDA (Numeração dada a cada conjunto de vendas independente da quantidade de produtos vendidos, listados no ListBox lstCompras)
Segue imagem.
O que eu preciso fazer, é auto numerar estas duas colunas com numerações diferentes, sendo uma sequencial e a outra não, começando com um código 100, por exemplo. Mas não é o que está acontecendo, como visto na imagem acima. Onde é ID, deve constar numeração 1, 2, 3... Em COD VENDA, 100, 100, 100... e numa próxima venda, 101, 101, 101... Entenderam!?!?!?!
O código que estou usando na macro responsável, é este:
SubCodVenda()IfIsNumeric(ActiveCell.Offset(-1,1))ThenActiveCell=ActiveCell.Offset(-1,1)+1ElseActiveCell=100EndIfEndSubPublicSubNumAuto()IfIsNumeric(ActiveCell.Offset(-1,0))ThenActiveCell=ActiveCell.Offset(-1,0)+1ElseActiveCell=1EndIfEndSubSubKitPagto()Dim cDesc AsCurrencyDimListaItemsAsIntegerIf txtDinheiro.Text=""And txtDesconto.Text=""And txtProduto.Text=""And txtPreco.Text=""ThenMsgBox"Não é possível Gravar informações vazias. Por favor, preencha o form!", vbCritical
txtCod.SetFocusElsePlan6.Range("A2").SelectListaItems= lstCompras.ListCount-1For i =0ToListaItemsNumAutoCodVendaIf txtDesconto.Text=""Then
cDesc ="0,00"Else
cDesc = txtDesconto.TextEndIf'ActiveCell.Offset(i, 0).Value = ActiveCell.Offset(-i, 0).Value + 1
ActiveCell.Offset(i, 1).Value = lblCodVenda.Caption
ActiveCell.Offset(i, 2).Value = Date & " - " & Time
ActiveCell.Offset(i, 3).Value = lstCompras.List(i, 0) 'Código PROBLEMAS NESTE ITEM
ActiveCell.Offset(i,4).Value= lstCompras.List(i,1)'Produto
ActiveCell.Offset(i, 5).Value = CCur(lstCompras.List(i, 3)) 'ValorActiveCell.Offset(i,6).Value= cboClientes.Text'Cliente
ActiveCell.Offset(i, 7).Value = lstCompras.List(i, 2) 'QuantidadeActiveCell.Offset(i,8).Value=CCur(lstCompras.List(i,4))'Sub-Total
ActiveCell.Offset(i, 9).Value = CCur(lblTotal.Caption) 'TotalActiveCell.Offset(i,10).Value=CCur(txtDinheiro.Text)'Valor para pagamento
ActiveCell.Offset(i, 11).Value = CCur(lblTroco.Caption) 'Troco calculado automaticamente
ActiveCell.Offset(i,12).Value=CCur(cDesc)'Desconto dado ao cliente
ActiveCell.Offset(i, 13).Value = cboVendedor.Text 'NomedoVendedorNext i
i = i +1MsgBox"Venda realizada com Sucesso!", vbInformation,"VP BAZAR SHOW"LimparActiveWorkbook.SaveEndIfEndSub
Não consigo chegar a uma finalização.
Esta é a imagem do UserForm.
Serei muito grato a quem, com uma ótica diferente, puder me dizer onde errei e dar uma luz para um caminho melhor.
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
SilverMind
Olá Caros Amigos(as),
Estou desenvolvendo um sistema VBA Excel 2007, de Vendas, onde eu tenho 8 planilhas que servem de base de dados, alguns UserForms de cadastro e um UserForm de Vendas.
A questão é a seguinte: Estou tendo problemas em auto numerar via macro, duas colunas, a A e a B da seguinte forma...
Coluna A = ID (ID sequencial para identificação de cada produto vendido)
Coluna B = COD VENDA (Numeração dada a cada conjunto de vendas independente da quantidade de produtos vendidos, listados no ListBox lstCompras)
Segue imagem.
O que eu preciso fazer, é auto numerar estas duas colunas com numerações diferentes, sendo uma sequencial e a outra não, começando com um código 100, por exemplo. Mas não é o que está acontecendo, como visto na imagem acima. Onde é ID, deve constar numeração 1, 2, 3... Em COD VENDA, 100, 100, 100... e numa próxima venda, 101, 101, 101... Entenderam!?!?!?!
O código que estou usando na macro responsável, é este:
Não consigo chegar a uma finalização.
Esta é a imagem do UserForm.
Serei muito grato a quem, com uma ótica diferente, puder me dizer onde errei e dar uma luz para um caminho melhor.
[ ],s
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.