Ir para conteúdo
Fórum Script Brasil
  • 0

Controle de Estoque no excel


Cristian Rocha

Pergunta

Estou fazendo um projeto de uma farmácia, com controle de Estoque e fluxo de caixa, estou usando o VBA para fazer isso, o fluxo de caixa eu consegui fazer tranquilamente, o problema é com o controle de estoque, o que eu quero, é que sempre que um produto é vendido, o valor em gramas desse produto, seja debitado do valor em gramas do produto em estoque. Por exemplo: Comprei 300g de cafeína, 400 gramas de vitamina B, 250 gramas de Vitamina A e no estoque eu tenho 1000 gramas de cafeína, 850 gramas de vitamina B, 650 gramas de vitamina A, eu quero que quando eu aperte no botão “concluir venda”, seja debitado o valor de cada produto, então a cafeína ficaria com 700 gramas no estoque, vitamina B com 450 g no estoque, vitamina A com 400 g no estoque.

Estou tendo dificuldades porque tenho que fazer com que o código identifique quais os produtos que foram vendidos, pegar a quantidade de cada produto vendido, ir para a planilha de estoque e procurar o produto vendido para que assim se desconte a quantidade em gramas do produto. A tabela de pedidos está na planilha de” Pedidos” e o estoque está na planilha “Controle de Estoque”

Na planilha “Pedidos” Os produtos vendidos estão na coluna A e a quantidade na coluna B. Na planilha “Controle de estoque” os produtos em estoque estão na coluna A e a quantidade total está na coluna B. Preciso muito dessa força de vocês, tenho que entregar este projeto sábado e é de extrema importância pra mim. Então se vocês puderem dar algumas dicas, ou até mesmo alguns exemplos, eu ficaria grato. Esta é o código que eu tentei fazer, neste código também está o controle de estoque que eu consegui fazer!

Public Static Sub FluxCaixa()

Dim P As Double, i As Integer

P = Worksheets("Pedidos").Range("C24")

Worksheets("Caixa").Range("A20000").End(xlUp).Offset(1, 0) = P

For i = 10 To 22

Dim name As Variant

Dim qtn As Variant

qtn = Worksheets("Pedidos").Cells(i, 2).Value

name = Worksheets("Pedidos").Cells(i, 1).Value

Next

Worksheets("Pedidos").Range("A10:A22,B10:B22, C10:C24, D10:C23, E10:E23, F10:F23").Select

Selection.SpecialCells(xlCellTypeConstants, 23).Select

Selection.ClearContents

Worksheets("Pedidos").Range("B2").Value = "Nome"

End Sub

Function desconta(ByVal name As String, ByVal qtn As Integer) As Boolean

Dim i As Integer

For i = 2 To 127

Dim s As String

s = Worksheets("Controle de Estoque").Cells(i, 1).Value

'Achou o formula

If s = name Then

Dim estoque As Integer

estoque = Worksheets("Controle de Estoque").Cells(i, 2).Value

'Checa se tem o valor minimo no estoque

If estoque < qtn Then

desconta = False

Exit Function

End If

'

estoque = estoque - qtn

'Manda pra planilha

Worksheets("Controle de Estoque").Cells(i, 2) = estoque

'Tudo com sucesso

desconta = True

Exit Function

End If

Next

End Function

Link para o comentário
Compartilhar em outros sites

2 respostass 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...