Notifications
Clear all

Itens não fixo

14 Posts
3 Usuários
0 Reactions
1,879 Visualizações
(@zanela)
Posts: 0
New Member
Topic starter
 

Bom dia galera!

Minha dúvida é a seguinte:

Na primeira aba da planilha, tenho a listagem dos itens (com até 20 linhas), e quero puxar os valores para a segunda aba de "PEDIDO DE COMPRA (IMPRESSO)", porém, quero que ele puxe para a folha de impressão, conforme eu adicionar ou remover itens, exemplo:

Caso eu compre 10 itens, ele puxa os 10 itens para a folha de impressão, caso eu compre 2, ele irá puxar apenas 2, até um máximo de 20 itens.

Não sei qual formula usar para fazer isso.

OBS: A planilha real contém informações sigilosas, então fiz uma planilha de exemplo.

 
Postado : 09/03/2016 7:18 am
(@gui-d)
Posts: 0
New Member
 

Não sei se entendi bem, mas veja se é isso que precisa.

Dê retorno.

[]

 
Postado : 09/03/2016 7:44 am
(@zanela)
Posts: 0
New Member
Topic starter
 

gui.d

Perfeito!

Só tem um porém. Quando eu preenchi os 20 itens o "atenciosamente" e "anderson Zanela" sumiram.

Se possível, gostaria que você me explicasse essa formula, pois vou executa-la na planilha original, e lá contém mais informações.

 
Postado : 09/03/2016 9:54 am
(@gui-d)
Posts: 0
New Member
 

Pronto, corrigido.
Bastava arrastar a formula 3 células abaixo.

Meu amigo, nada mais fiz do que utilizar a função se() da forma mais simples possível..

Caso não conheça a função, vou tentar explicar.
Sintaxe:
=se(teste lógico; valor se verdadeiro; valor se falso)

Teste lógico: Essa é a lógica que resulta em um resultado booleano( verdadeiro ou falso).
Exemplo, faça esse teste em seu excel, em qualquer célula em branco.
Digite: =1=1, resultará em verdadeiro, já que de fato 1 é igual a 1.
Depois digite: =0=1, já que 0 não é igual a 1, o resultado será falso.

Valor se verdadeiro: É o resultado que a formula irá retornar caso o teste lógico seja verdadeiro.

Valor se falso: Claro, usa o mesmo critério de do teste verdadeiro, porém com o resultado sendo falso.

Espero que tenha entendido.

Sabendo utilizar a função se(), você entenderá facilmente as formulas da planilha.

[]

 
Postado : 09/03/2016 10:48 am
(@zanela)
Posts: 0
New Member
Topic starter
 

Gui,

Entendi a formula em partes.

Conheço a formula SE(), mas vi que você adicionou algumas outras formulas.

Como eu poderia fazer isso na planilha anexo, que seria a planilha original ?

A propósito, como ficaria se gerasse mais uma folha ? contando o rodapé e o cabeçalho, e mantendo essas informações abaixo da lista de pedido.

Muito obrigado pela sua ajuda, estamos em 90% rsrs.

 
Postado : 09/03/2016 12:14 pm
(@gui-d)
Posts: 0
New Member
 

Bom, vou lhe dar uma notícia ruim, a formula que criei fica inviável de ser usada em sua planilha, já que você tem muita informação abaixo do intervalo das formulas.
Ficaria inviável fazer isso com tudo.

Use dessa forma, com as 20 linhas fixas para inclusão de itens, ou recorra ao VBA.

Um abraço.

[]

 
Postado : 09/03/2016 1:10 pm
(@zanela)
Posts: 0
New Member
Topic starter
 

Muito obrigado pela ajuda gui!

Vejo o que consigo fazer aqui, ou aguardo a ajuda de alguém com VBA haha

 
Postado : 09/03/2016 1:28 pm
(@mprudencio)
Posts: 0
New Member
 

Ve se isso ajuda....

Vou postar o codigo aqui pq pode ser que o excel nao reconheça deu um "erro" estranho sobre controle activex e nao entendi mas baixe o arquivo se o codigo nao estiver na planilha basta colar o codigo abaixo em um botao.

Sub Pedido()

Dim WE              As Worksheet
Dim WP              As Worksheet
Dim WPULinha        As Long
Dim WELinha         As Long
Dim WEULinha        As Long
Dim Cont            As Long
Dim A               As Long
Dim PTotal          As Currency
Dim Soma            As Currency


Set WE = Sheets("EQUALIZAÇÃO")
Set WP = Sheets("PEDIDO DE COMPRA (IMPRESSO)")
    Cont = 0
    WELinha = 3
    WEULinha = WE.Range("A" & Rows.Count).End(xlUp).Row
    WPULinha = WP.Range("B" & Rows.Count).End(xlUp).Row
    WP.Range("A3:F100").ClearContents
    
  

For A = WELinha To WEULinha

If WE.Cells(WELinha, 3).Value <> "" Then

WPULinha = WP.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
Cont = Cont + 1
WP.Cells(WPULinha, 1).Value = Cont
WP.Cells(WPULinha, 2).Value = WE.Cells(WELinha, 2).Value
WP.Cells(WPULinha, 3).Value = WE.Cells(WELinha, 3).Value
WP.Cells(WPULinha, 4).Value = WE.Cells(WELinha, 4).Value
WP.Cells(WPULinha, 5).Value = WE.Cells(WELinha, 5).Value
PTotal = WP.Cells(WPULinha, 3).Value * WP.Cells(WPULinha, 5).Value
WP.Cells(WPULinha, 6).Value = PTotal
Soma = Soma + PTotal
WELinha = WELinha + 1
Else
WELinha = WELinha + 1
End If
Next

WP.Cells(WPULinha + 3, 5).Value = "Total"
WP.Cells(WPULinha + 3, 6).Value = Soma
WP.Cells(WPULinha + 5, 5).Value = "Atenciosamente"
WP.Cells(WPULinha + 6, 5).Value = "Anderson Zanela"
WP.Select
WP.Range("A3").Select

End Sub



 
Postado : 09/03/2016 4:05 pm
(@zanela)
Posts: 0
New Member
Topic starter
 

Mprudencio

Perfeito!

Porém, preciso que isso seja feito na planilha anexo. Repare que abaixo da relação dos itens, temos observações, e dados de condições.

Caso prefira, me contacte por e-mail: [email protected]

Fico no aguardo.

 
Postado : 10/03/2016 1:01 pm
(@mprudencio)
Posts: 0
New Member
 

Da próxima vez disponibilize a Planilha correta, pq na maioria dos casos o VBA tem que ser totalmente reescrito, tudo que esta abaixo da linha 31 deve ser preenchido pelo VBA??

Precisa manter a Formatação Apresentada ou pode ser em preto?

 
Postado : 10/03/2016 1:53 pm
(@zanela)
Posts: 0
New Member
Topic starter
 

Não MPrudencio.

A única função do VBA será no dinamismo da lista de itens, sendo eles 1, 2 ou 30 itens.

As informações abaixo da lista devem ser mantidas.

PS: Lembrando que a página contem cabeçalho e rodapé, e existe grande chance de gerar uma folha adicional.

 
Postado : 10/03/2016 2:11 pm
(@mprudencio)
Posts: 0
New Member
 

Ve se é assim:

 
Postado : 10/03/2016 3:06 pm
(@zanela)
Posts: 0
New Member
Topic starter
 

Perfeito marcelo!

consegue me dar uma breve explicação ? para que eu possa entender a macro.

Muito obrigado mesmo. Isso irá me ajudar mais do que você imagina.

 
Postado : 10/03/2016 5:13 pm
(@mprudencio)
Posts: 0
New Member
 

Ela pesquisa se existe pedido do item se tem copia e cola a linha correspondente da primeira planilha para a segunda...

 
Postado : 10/03/2016 5:54 pm