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

VBA - MULTIPLICAÇÃO DE VÁRIOS ITENS COM VÁRIOS CRITÉRIOS


Fabio012

Pergunta

Olá, Boa noite, meu nome é Fabio.

 

Sou iniciante em programação VBA e gostaria de saber como realizar uma multiplicação de vários valores, com mais de 1 critério.

 

Por exemplo:

Tenho na planilha 1 (BOM)

São os itens produzidos e suas listas de materiais 

Na coluna A tenho os itens produzidos e na coluna B a matérias-primas utilizadas e na Coluna C o consumo de cada matérial.

Os produtos tem mais de uma matéria-prima em sua composição e cada produto utiliza uma quantidade diferente de cada matéria prima

518419235_planilha1(BOM).JPG.3fa0457f1152964c0b566f5f0d9506f3.JPG

Tenho na planilha 2 (PROGRAMAÇÃO)

Tenho os itens produzidos e quanto planejo produzir por dia

Na coluna A tenho os  itens produzidos 

Da coluna B até a G são as quantidades que plenejo produzir por dia (de segunda a sabado)

1510783259_planilha2(PROGRAMAO).JPG.df81496168a8c465d8e46a7b57efa0c5.JPG

Por último tenho na Planilha 3 (NECESSIDADE) 

Nela constam as minhas matérias primas.

e nela que quero que o código VBA funcione.

Na coluna A tenho as materias primas que utilizo para produzir os produtos

Da coluna B até a coluna G quero calcular a quantidade de cada matéria-prima que irei precisar para produzir as quantidades planejadas na planilha 2 com base no consumo calculado na Planilha 1

Mas quero fazer isso automaticamente.

 

NECESSIDADE.JPG.5341501d141f8cc291742ce015cb3260.JPG

Qual seria a forma mais simples de fazer isso?

 

 

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
1 hora atrás, Alyson Ronnan Martins disse:

Opa  @Fabio012. Boa tarde ^^

Queria você já tem conhecimento de usar os macro ou quer ver um código para entender melhor  a sua ideia.

Se possível poderia disponibilizar planilha para tentar o código?

Boa noite Alyson, não tenho o código não.

Quero criá-lo do zero, porém não tenho muito conhecimento em vba.

 

Vou tentar explicar de outra maneira.

Vamos imaginar que tenho uma confeitaria,

Produzo bolos

Na primeira aba da planilha coloco os bolos e os ingredientes para produzí-los.

Bolo 1

utiliza 2 ovos, 1 kg de farinha de trigo, e 2 litros de leite

 

Bolo 2 

utiliza 3 ovos, 1 litro de leite, 2 caixas de leite consensado e 100 gr de chocolate em pó.

 

Bolo 3

Utiliza 1,5  litro de leite, 2 cx de creme de leite, 4 ovos, e 1 litro de óleo

 

Para gerar uma base de dados  coloco da seguinte forma

P1.JPG.163bd23889a40b283efb4aea5a3e0cd2.JPG

 

Daí na segunda aba coloco os pedidos de clientes por dia

P2.JPG.c3a02918a37cc517e9493e75058d29ee.JPG

 

e quero que na terceira aba apareça a quantidade que preciso de cada produto para produzir os bolos por dia.

 

p3.JPG.54b45704dd54f623579b07d014c8e12e.JPG

 

A primeira aba é o banco de dados de produtos associados aos ingredientes que utiliza, na segunda será colocado os pedidos semanais, e na terceira é o quanto preciso de cada ingrediente por dia.

Essa planilha é para que eu possa saber se o que tenho no estoque é sufuciente para produzir o bolo e se preciso e quando irei precisar comprar mais.

 

A ideia é que eu busque pelo nome do ingrediente na aba 3, verifique em quais bolos e qual a quantidade que eu utilizo esse ingrediente ABA 1 e, por fim utilizando essa quantidade e ainda com referencia no bolo, multiplique pela quantidade que irei produzir no dia

Posso mandar essa planilha, mas ela é só um exemplo, não tem código nenhum.

Além disso não sei onde consigo anexar essa planilha.

Link para o comentário
Compartilhar em outros sites

  • 1

Segue a planilha que fiz usando a ideia: Receita(macro)

Public Sub cmdNecessidade()
Dim uLinhaProgramacao As Long
Dim uLinhaEstrutura As Long
Dim uLinhaNecessidade As Long
Dim x As Long, y As Long, z As Long, w As Long

Dim Produto As String
Dim Material As String
Dim Qtd As Double
Dim NesSemana As Double
Dim NesTotal As Double

'Limpar tabela
cmdLimparNecessidade

uLinhaProgramacao = Sheets("Programação").Cells(Rows.Count, "A").End(xlUp).Row
uLinhaEstrutura = Sheets("Estrutura").Cells(Rows.Count, "A").End(xlUp).Row
For x = 3 To uLinhaProgramacao Step 1
    Produto = Sheets("Programação").Cells(x, "A").Value
    For z = 2 To uLinhaEstrutura Step 1
        If Produto = Sheets("Estrutura").Cells(z, "A").Value Then
            'Verificar se o material já foi programado
            uLinhaNecessidade = Sheets("Necessidade").Cells(Rows.Count, "A").End(xlUp).Row + 1
            Material = Sheets("Estrutura").Cells(z, "B").Value
            Qtd = Sheets("Estrutura").Cells(z, "C").Value
            For w = 3 To uLinhaNecessidade Step 1
                If Material = Sheets("Necessidade").Cells(w, "A").Value Then
                    uLinhaNecessidade = w
                End If
            Next w
            
            'Verifica se o material não foi preenchido
            If Sheets("Necessidade").Cells(uLinhaNecessidade, "A").Value = "" Then
                Sheets("Necessidade").Cells(uLinhaNecessidade, "A").Value = Material
            End If
            
            For y = 2 To 7 Step 1 'Coluna
                NesSemana = Sheets("Programação").Cells(x, y).Value
                NesTotal = (Qtd * NesSemana) + Sheets("Necessidade").Cells(uLinhaNecessidade, y).Value
                
                'Lançar informações:
                Sheets("Necessidade").Cells(uLinhaNecessidade, y).Value = NesTotal
                
            Next y
            'Debug.Print Produto & " - " & Sheets("Estrutura").Cells(z, "B").Value & ":" & Sheets("Estrutura").Cells(z, "C").Value
        End If
    Next z
Next x

End Sub

Lógica que fiz para encontra os materiais do bolo ^^

Link para o comentário
Compartilhar em outros sites

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...