Notifications
Clear all

VBA - Atualizar período Data Pedido de Compra

4 Posts
1 Usuários
0 Reactions
1,484 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá pessoal...
Gostaria muito de tirar uma dúvida e, pedir para que algum de vcs possam me ajudar a solucionar uma dúvida que estou tendo quanto ao problema abaixo :
Em meu trabalho utilizo uma Macro (VBA) que fazemos controle dos processos de pedidos de compras (materiais) para indústria e nela enxugamos todas as informações necessárias para o nosso trabalho diário, pois bem...
Tenho uma planilha em excel que contém macros para extrair algumas informações, que no caso seria extratificar os "pedidos de compras" que enviamos aos nossos fornecedores. Esta planilha "puxa" as informações de um relatório gerado pelo sistema JDE Interprise "Oracle". Até o final de Dezembro passando esta macro estava funcionando 100%, mas agora pela virada para Janeiro, ela já não trás mas a informação atualizada de que preciso.
A macro deveria fazer o trabalho de trazer todos os pedidos de compras pendentes e "joga-las" conforme as datas solicitadas, por ex: pedido número 54102310A, solicitada para dia 05/01, outro exemplo..... pedido 54102311A, solicitada para dia 09/01, antes quando estava funcionando legal, a macro trazia este pedido (54102301A) que se encontra atrasada a data de entrega, na semana vigente (09/01), hoje todos os pedidos anteriores a data de hoje (09/01) por exemplo não aparecem e, elas que não aparecem preciso fazer uma busca manualmente com um PROC-V.
Esta macro não fui eu quem criou, a pessoa que o fez não trabalha mais conosco e, desta forma não consigo dar continuidade ao processo, por isso venho através deste tópico solicitar uma ajuda, o que eu poderia estar fazendo para ajustar, para que volte a funcionar.

Segue abaixo o modelo da Macro (VBA)

inserir dia de coleta conforme data de entrega

Range("T1").Select
ActiveCell.FormulaR1C1 = "Data da Coleta"
Range("U1").Select
ActiveCell.FormulaR1C1 = "Data da Entrega"
Range("V1").Select
ActiveCell.FormulaR1C1 = "Dia da Coleta"
Range("W1").Select
ActiveCell.FormulaR1C1 = "Dia da Entrega"
Range("T2").Select
Selection.FormulaArray = _
"=IF(RC[-17]<>"" "",IF(WEEKDAY(RC[-6],1)=2,RC[-6]-3,IF(WEEKDAY(RC[-6],1)>2,RC[-6]-1,IF(WEEKDAY(RC[-6],1)=1,RC[-6]-1,"" ""))),"" "" )"
Selection.AutoFill Destination:=Range("T2:T25000"), Type:=xlFillDefault
Range("U2").Select
ActiveCell.FormulaR1C1 = "=RC[-7]"
Selection.AutoFill Destination:=Range("U2:U25000"), Type:=xlFillDefault
Range("U2:U25000").Select
Range("V2").Select
ActiveCell.FormulaR1C1 = "=RC[-2]"
Selection.AutoFill Destination:=Range("V2:V25000"), Type:=xlFillDefault
Range("W2").Select
ActiveCell.FormulaR1C1 = "=WEEKDAY(RC[-9],1)"
Selection.AutoFill Destination:=Range("W2:W25000"), Type:=xlFillDefault
Columns("T:X").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'concatena codigo e periodo

Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").Select
ActiveCell.FormulaR1C1 = "código dta"
Range("A2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[1]<>0,RC[1]&RC[14],"" "")"
Selection.AutoFill Destination:=Range("A2:A21049"), Type:=xlFillDefault
Range("A2").Select

Desde já agradeço

 
Postado : 09/01/2012 9:56 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


palves,

esta macro está bastante poluída.

Em vez de tentarmos interpretar o que exatamente ela faz, neste caso, sugiro que disponibilize uma pequena parte (representativa) do seu arquivo, com dados fictícios, indicando alguns exemplos do que pretende retornar, que vai obter rapidamente uma solução.

Obrigado!

 
Postado : 09/01/2012 10:45 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Edson

Ok, vou enviar um aqruivo de onde são extraídas as informações para trabalho nesta macro

 
Postado : 09/01/2012 11:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


palves,

ainda não ficou claro como pretende executar o processo, mas segue minha segunda sugestão:

Abra o csv no Excel, selecione a coluna A e em seguida:

Dados/Texto para colunas...

Vai abrir o Assistente para conversão de texto em colunas.

etapa 1: Delimitado
etapa 2: Delimitadores: Vírgula
etapa 3: Formato dos dados da coluna (em princípio vamos manter Geral)
Concluir

Observe o resultado e indique quais colunas/datas devem ser analisadas e sob quais critérios pretende retornar outra lista.

 
Postado : 14/01/2012 12:16 pm