Notifications
Clear all

Excel (VBA) - Codigo para enviar informaçoes para relatorio

9 Posts
3 Usuários
0 Reactions
1,199 Visualizações
(@alemaors)
Posts: 5
Active Member
Topic starter
 

Olá amigos... preciso de uma ajuda.... tenho este codigo abaixo que sempre que aperto o botao "finalizar compra" ele envia os dados do painel de vendas para duas guias diferentes.. onde são os relatorios.... um relatorio é de vendas... e o outro relatorio é a previsao de recebimento... o problema que estou é o seguinte.. sempre que aperto o botao finalizar compra... ele copia as informaçoes do painel de venda e cola estas informações em cima das outras informaçoes que já constao no relatorio de vendas anteriores........ gostaria que colase na linha abaixo... e nao em cima da informaçao anterior.... segue o codigo para ajuda......

Sub FINALIZARCOMPRA()
'
' FINALIZARCOMPRA Macro
'

'
ActiveWindow.SmallScroll Down:=18
Range("H38:R42").Select
Selection.Copy
Sheets("Relatorio Contas a Receber").Select
Range("B5").Select
ActiveWindow.SmallScroll Down:=-9
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Painel Venda").Select
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=-21
Range("B6:R20").Select
Selection.Copy
Sheets("Relatorio Venda").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Painel Venda").Select
Application.CutCopyMode = False
Range("J24").Select
End Sub

 
Postado : 28/11/2013 11:29 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Olá alemaors,

Entendi a sua solicitação, porém teria como você anexar um exemplo da sua planilha para que eu possa ver a estrutura da mesma e gerar uma solução mais viável?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/11/2013 11:55 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Talvez assim:

Sub FINALIZARCOMPRA()
'
' FINALIZARCOMPRA Macro
Dim Ultim5alinha As Long
Sheets("Painel Venda").Activate
Range("H38:R42").Select
Selection.Copy
Sheets("Relatorio Contas a Receber").Select
Ultimalinha = Range("B" & Rows.Count).End(xlUp).Row
Range("B" & Ultimalinha).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Painel Venda").Select
Application.CutCopyMode = False
Range("B6:R20").Select
Selection.Copy
Sheets("Relatorio Venda").Select
Ultimalinha = Range("B" & Rows.Count).End(xlUp).Row
Range("B" & Ultimalinha).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Painel Venda").Select
Application.CutCopyMode = False
Range("J24").Select
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/11/2013 11:57 am
(@alemaors)
Posts: 5
Active Member
Topic starter
 

Olá pessoal...

segue o link onde tem a planilha...

http://www.4shared.com/folder/fGYCVIZD/_online.html

Testei o codigo acima em uma copia da planilha... me parece que esta funcionando.. o que tem uma questao... na guia "Relatorio de contas a Receber" ele esta colando em cima do painel.... deveria colar um poquinho mais em baixo.....

 
Postado : 28/11/2013 12:07 pm
(@alemaors)
Posts: 5
Active Member
Topic starter
 

Tava olhando aqui... em qualquer um dos relatorio... deveria começar a colar na B5.... dai pra baixo.....
agora o problema esta na hora de colar.... nos relatorios...

 
Postado : 28/11/2013 12:11 pm
(@alemaors)
Posts: 5
Active Member
Topic starter
 

Olá pessoal... identifiquei mais um pequeno problema na formula... quando é colado nas guias relatorios... ele sempre colo em cima da ultima linha.... por exemplo... se eu realizei uma venda em 5 parcela..... na proxima venda quando eu realizar ele vai colar a 1 parcela em cima da 5 parcela... que seria a ultima parcela da venda anterior.... isso tambem esta acontecendo com os produtos.. no ultimo produto que seria o 15 linha... se eu vender a proxima venda ele vai colar tambem em cima do ultimo produto...... caso tenha vendido 15 itens....

Tem como arrumar no codigo.... esses dois erros.... lembrando que ele teve começar a colar a partir da B5 em ambos relatorios..... o resto esta perfeito!!!

Se conseguir postar o codigo novamente... com essas correções..... vai me salvar!!! hehehehe

Obrigado
Abraços....

 
Postado : 28/11/2013 1:25 pm
(@michelle98)
Posts: 4
New Member
 

Estou com problema semelhante, alguém pode me ajudar??

Esta planilha é uma ficha cadastral. O fornecedor irá preencher o cadastro e quando clicar para imprimir, as informações irão automaticamente para planilha DATA BASIS, porém as informações não estão sendo gravadas no DATA BASIS.

Eu não entendo de programação e a planilha estava funcionando normalmente, até limparem todas as informações.

Segue a planilha
http://www.4shared.com/file/o7iLyQeO/Fi ... dores.html

Agradeço quem puder me auxiliar!

Atenciosamente,
Michelle

 
Postado : 28/11/2013 2:25 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Alemão, veja se está atendendo

Sub FINALIZARCOMPRA()
'
' FINALIZARCOMPRA Macro
Dim Ultimalinha As Long, iVend As Integer
Sheets("Painel Venda").Activate
iVend = Application.WorksheetFunction.CountIf(Range("H38:H42"), ">0") + 37
Range("H38:R" & iVend).Select
Selection.Copy
Sheets("Relatorio Contas a Receber").Select
Ultimalinha = Range("B65536").End(xlUp).Row + 1 'Range("B" & Rows.Count).End(xlUp).Row + 1
Range("B" & Ultimalinha).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Painel Venda").Select
Application.CutCopyMode = False
iVend = Application.WorksheetFunction.CountIf(Range("B6:B20"), ">0") + 5
Range("B6:R" & iVend).Select
Selection.Copy
Sheets("Relatorio Venda").Select
Ultimalinha = Range("B65536").End(xlUp).Row + 1  'Range("B" & Rows.Count).End(xlUp).Row + 1
Range("B" & Ultimalinha).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Painel Venda").Select
Application.CutCopyMode = False
Range("J24").Select
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/11/2013 2:58 pm
(@alemaors)
Posts: 5
Active Member
Topic starter
 

Bom dia Reinaldo!

Valeu! ficou muito bom..... já estava alguns dias procurando esse codigo! Agora esta funcionando corretamente!

Muito Obrigado!
Abraços....

 
Postado : 29/11/2013 7:48 am