fdkdente

Membros
  • Content Count

    5
  • Joined

  • Last visited

Community Reputation

0 Neutro

About fdkdente

  1. Bom dia pessoal, Estou com um problema em uma macro, onde ela está muito extensa e pouco "inteligente" Tenho uma planilha que faz o "check in" dos produtos que chegam na empresa, e outra de controle de estoque e quero que seja feito a adição da mercadoria do chek in para o estoque. Neste código estou pegando o produto e verificando seu nome, por exemplo, "arroz". Se ele for arroz, então a macro abre a planilha do estoque, pega a célula da frente do arroz (os produtos do estoque estão na coluna "A", suas quantidades estão na coluna "B") e soma a quantidade digitada na célula H8. Sub Checklist_para_estoque() Dim produto, exp_mi As String Dim quantidade As Double Sheets("Check List Transporte").Select produto = Range("b8").Value exp_mi = Range("a9").Value quantidade = Range("h8").Value If Range("C4").Value = "ORIGEM:" Then If produto = "Produto 1" Then Workbooks.Open ("C:\Users\Documents\controle_estoque.xls") Sheets("Saldo Total").Select Range("B16").Value = quantidade + Range("B16").Value ActiveWorkbook.Save ActiveWindow.Close ElseIf produto = "Produto 2" Then Workbooks.Open ("C:\Users\Documents\controle_estoque.xls") Sheets("Saldo Total").Select Range("B17").Value = quantidade + Range("B17").Value ActiveWorkbook.Save ActiveWindow.Close ElseIf produto = "Produto 3" Then Workbooks.Open ("C:\Users\Documents\controle_estoque.xls") Sheets("Saldo Total").Select Range("B18").Value = quantidade + Range("B18").Value ActiveWorkbook.Save ActiveWindow.Close ElseIf produto = "Produto 4" Then Workbooks.Open ("C:\Users\Documents\controle_estoque.xls") Sheets("Saldo Total").Select Range("B19").Value = quantidade + Range("B19").Value ActiveWorkbook.Save ActiveWindow.Close ElseIf produto = "Produto 5" Then Workbooks.Open ("C:\Users\Documents\controle_estoque.xls") Sheets("Saldo Total").Select Range("B20").Value = quantidade + Range("B20").Value ActiveWorkbook.Save ActiveWindow.Close [....] 'Tenho q digitar produto por produto... ' ElseIf produto = "Produto 124" Then Workbooks.Open ("C:\Users\Documents\controle_estoque.xls") Sheets("Saldo Total").Select Range("B137").Value = quantidade + Range("B21").Value ActiveWorkbook.Save ActiveWindow.Close ElseIf produto = "Produto 125" Then Workbooks.Open ("C:\Users\Documents\controle_estoque.xls") Sheets("Saldo Total").Select Range("B138").Value = quantidade + Range("B22").Value ActiveWorkbook.Save ActiveWindow.Close ElseIf produto = "Produto 126" Then Workbooks.Open ("C:\Users\Documents\controle_estoque.xls") Sheets("Saldo Total").Select Range("B139").Value = quantidade + Range("B139").Value ActiveWorkbook.Save ActiveWindow.Close Else End If Else End If End Sub Queria saber como automatizar essa procura, sem precisar especificar a célula na frente do produto do estoque, pois são muitos produtos e se, por exemplo, eu tiver que adicionar algum produto no meio destes, eu teria também que mudar todas as referencias de baixo Seria um código que compara o nome do produto do check in com o nome do produto no estoque (Coluna "A"), se eles forem iguais, a célula referente ao produto no estoque é selecionada, em seguida a seleção passa para a célula da coluna seguinte (Coluna "B") e é acrescentado nela, a quantidade da célula H8 Se alguém souber por favor me ajuda.
  2. Bom dia pessoal. Preciso de uma ajudinha com um código do vba.. é o seguinte: Tenho uma planilha que faz o "check in" dos produtos que chegam na empresa, e outra de controle de estoque e quero que seja feito a adição da mercadoria do chek in no estoque. Elaborei uma planilha simples, de exemplo que tem a mesma ideia https://www.sendspace.com/file/7f4s5l Pensei numa macro neste sentido: Dim qtd as Double Dim prod, prod_estoque as String Sheets("Estoque").Select prod_estoque = Range("A:A").Value Sheets("Cadastro").Select prod = Range("A1").Value qtd = Range("B1").Value If prod = prod_estoque Then 'Aqui seria inserido um comando que seleciona a célula da Coluna A da planilha Estoque que tem o mesmo valor de prod, ou seja, é o mesmo produto. Em seguida, a seleção muda para a célula ao lado (coluna "B"). ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 + qtd Else End If End Sub O código tem alguns erros claros, como na linha "If prod = prod_estoque Then"... Mas acho que a ideia foi compreendida ^^ Qualquer duvida só me perguntar... Se alguém puder me ajudar, agradeço.
  3. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script> Perfeito, ajudou muito (: Obrigado!!
  4. Você não poderia iniciar uma planilha a cada mês, sempre salvando a do mês anterior?
  5. Bom dia, estou trabalhando em cima de uma planilha onde eu devo melhorar o sistema de datas e prazos para evitar vencimentos inesperados. *Lembrando que sou noob no assunto de macros e em VBA O que fiz foi o seguinte: Sub aviso_data() MsgBox "Datas próximas do vencimento em vermelho" If Range("B1").Value >= Range("B5").Value Then Range("B5").Interior.ColorIndex = 3 Else End If If Range("B1").Value >= Range("B6").Value Then Range("B5").Interior.ColorIndex = 3 Else End If If Range("B1").Value >= Range("B7").Value Then Range("B7").Interior.ColorIndex = 3 Else End If If Range("B1").Value >= Range("B8").Value Then Range("B8").Interior.ColorIndex = 3 Else End If End Sub Estou achando esse código muito simples e "manual", já que tenho que escolher uma por uma as células com a data do aviso. Gostaria de saber como seria possível e qual o código para usar corretamente variáveis, por exemplo: Seria algo no sentido do código acima (ele está incorreto) Se alguém souber, por favor me ajude. Obrigado.