Preciso de uma ajuda .
Tenho o codigo abaixo que se refere a duas abas de minha planila.
Plan Clientes e Plan Venda1
Acontece que B1 = nome da aba Venda1, e o comando abaixo executa sua funcao se baseando por esta Range("B1").
Mas eu quero que faca a procura do cliente, que esta em Range("L4") da Planilha Venda1 e nao pelo nome desta aba.
' Gerar Vendas ao Cliente Dim nome1 nome1 = Range("B1").Value Dim WC, WR As Worksheet Dim Cont As Long Dim Venda As String Application.ScreenUpdating = False Dim WT As Worksheet Set WC = Worksheets("CLIENTES") Set WR = Worksheets(nome1) Venda = WR.Range("B1").Value Sheets("CLIENTES").Visible = True WC.Select WC.Range("B4").Select Do While ActiveCell <> "" If ActiveCell = Venda Then ActiveCell.Offset(0, 15).Select Cont = ActiveCell Cont = Cont + 1 ActiveCell = Cont Else ActiveCell.Offset(1, 0).Select End If Loop WR.Select
Tenta assim
Eu nao entendi bem onde vc esta procurando, mas tenho a impressão que sua busca esta na coluna errada
Sub Venda() Dim nome1 nome1 = Range("B1").Value Dim WC, WR As Worksheet Dim Cont As Long Dim Venda As String Application.ScreenUpdating = False Dim WT As Worksheet Set WC = Worksheets("CLIENTES") Set WR = Worksheets(nome1) Venda = WR.Range("B1").Value Sheets("CLIENTES").Visible = True WC.Select WC.Range("L4").Select Do While ActiveCell <> "" If ActiveCell.Value = Venda Then ActiveCell.Offset(0, 15).Select Cont = ActiveCell Cont = Cont + 1 ActiveCell = Cont Else ActiveCell.Offset(1, 0).Select End If Loop WR.Select End Sub
Disponibilize um modelo que fica facil ajustar
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
Ola amigao, segue anexo
Assim eu ja havia feito, mando anexo
Na verdade o valor nao esta na celula L4 mas na L6 conforme seu exemplo
Veja Anexo
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
Grato amigo, detalhe a toa e ebatendo aqui a cabeca, mas uma vez agradecido !
Andre
PS: Se puder dar uma ajudinha neste topico agradeço tb, pois estara ajudando tb ao amigo que me ajudou no cadastro de clentes. Pois a imagem nao esta atualizando.
viewtopic.php?f=10&t=21505&start=30
E tb este aqui que pra mimiria ajudar em muito a divulgar as minhas vendas
Boa Noite e grato de novo
Andre
Boa Tarde
MPrudencio, teria como dar baixa nos itens vendidos ?
Mando em anexo a tabela de novo.
Grato
Andre
O controle de estoque deve ser feito com o registro da venda em uma tabela a parte e a tabela estoque somente calcula as saidas
Olha um exemplo simples sem macros pra vc ter uma ideia do funcionamento.
Da pra lançar os itens vendidos por vba e o estoque ser atualizado.
Embora seja um arquivo xlsm esta sem nenhum codigo vba.
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
O controle de estoque deve ser feito com o registro da venda em uma tabela a parte e a tabela estoque somente calcula as saidas
Olha um exemplo simples sem macros pra vc ter uma ideia do funcionamento.
Da pra lançar os itens vendidos por vba e o estoque ser atualizado.
Embora seja um arquivo xlsm esta sem nenhum codigo vba.
Ola amigo, estou adaptando no meu projeto aqui e te falo ok, mas vou ver se consigo aplicar tb os produtos mais vendidos , se nao conseguir de certo vou te incomodar de novo ok /
Grato
Anrde
Amigao MPrudencio, ficou joia !
Agora veja que uso o codigo abaixo, porem quero inverter a coisa, ao inves de pegar a ultima linha disponivel, quero empurrar pra baixo e manter os dados atualizados na linha A2, tem como me mudar este codigo ai e me passar ?
Teria como dentro do seu modelo me dar uma nocao de quais produtos mais vendidos e os menos vendidos ?
Set Ws3 = Sheets("LANCAMENTOS") 'Referencia a guia Mais Vendidos como Ws3
Set Dest3 = Ws3.Range("A2").Range("A20000").End(xlUp).Offset(1, -1) 'Encontra a ultima linha da guia comissão (definida como Dest)
Range("D72:H72").Copy 'Copia o intervalo
Dest3.PasteSpecial xlPasteValues 'Cola valores na guia Comissão
Application.CutCopyMode = False
Grato Andre
Achei como fazdr, Mas meu codigo ficou grande como sempre, entao teria como me dar o mesmo usando um Loop pra economizar ?
Grato
Andre
Sub Teste() Sheets("Venda1").Select Range("D72:H72").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown If Range("D73").Value <> "" Then Sheets("Venda1").Select Range("D73:H73").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D74").Value <> "" Then Sheets("Venda1").Select Range("D74:H74").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D75").Value <> "" Then Sheets("Venda1").Select Range("D75:H75").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D76").Value <> "" Then Sheets("Venda1").Select Range("D76:H76").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D77").Value <> "" Then Sheets("Venda1").Select Range("D77:H77").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D78").Value <> "" Then Sheets("Venda1").Select Range("D78:H78").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D79").Value <> "" Then Sheets("Venda1").Select Range("D79:H79").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D80").Value <> "" Then Sheets("Venda1").Select Range("D80:H80").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D81").Value <> "" Then Sheets("Venda1").Select Range("D81:H81").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D82").Value <> "" Then Sheets("Venda1").Select Range("D82:H82").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D83").Value <> "" Then Sheets("Venda1").Select Range("D83:H83").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D84").Value <> "" Then Sheets("Venda1").Select Range("D84:H84").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D85").Value <> "" Then Sheets("Venda1").Select Range("D85:H85").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown Else GoTo Fim_Estoque End If If Range("D86").Value <> "" Then Sheets("Venda1").Select Range("D86:H86").Select Application.CutCopyMode = False Selection.Copy Sheets("LANCAMENTOS").Select Range("A2").Select Selection.Insert Shift:=xlDown GoTo Fim Fim: End Sub
deu erro acima, ale do Goto FIm , ja ajeitei aqui mesmo assim, da erro ao colar,
Sub Teste()
Sheets("Venda1").Select
Range("D72:H72").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
If Range("D73").Value <> "" Then
Sheets("Venda1").Select
Range("D73:H73").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D74").Value <> "" Then
Sheets("Venda1").Select
Range("D74:H74").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D75").Value <> "" Then
Sheets("Venda1").Select
Range("D75:H75").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D76").Value <> "" Then
Sheets("Venda1").Select
Range("D76:H76").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D77").Value <> "" Then
Sheets("Venda1").Select
Range("D77:H77").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D78").Value <> "" Then
Sheets("Venda1").Select
Range("D78:H78").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D79").Value <> "" Then
Sheets("Venda1").Select
Range("D79:H79").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D80").Value <> "" Then
Sheets("Venda1").Select
Range("D80:H80").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D81").Value <> "" Then
Sheets("Venda1").Select
Range("D81:H81").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D82").Value <> "" Then
Sheets("Venda1").Select
Range("D82:H82").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D83").Value <> "" Then
Sheets("Venda1").Select
Range("D83:H83").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D84").Value <> "" Then
Sheets("Venda1").Select
Range("D84:H84").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D85").Value <> "" Then
Sheets("Venda1").Select
Range("D85:H85").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else
GoTo Fim_Estoque
End If
If Range("D86").Value <> "" Then
Sheets("Venda1").Select
Range("D86:H86").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LANCAMENTOS").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Else: End If
GoTo Fim_Estoque
Fim_Estoque:
End Sub
Manda o codigo com o arquivo, que fica mais facil editar o codigo.
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
pera ai entao
no anexo
acertei aqui era um erro de
Erro em tempo de execução -2147417848 (80010108) "ERRO DE AUTOMAÇÃO. O objeto chamado foi desconectado de seus clientes".
Era uma formulario no meio do camino no calculo., mas ja aceretei aqui.
Mas agora tenho outro problema, pois se jogo as linhas pra baixo, altera o comando abaixo.
De
=SOMASES('LANCAMENTOS SAIDA'!$D$2:$D$505;'LANCAMENTOS SAIDA'!$B$2:$B$505;B8;'LANCAMENTOS SAIDA'!$E$2:$E$505;"ENTRADA")-SOMASES('LANCAMENTOS SAIDA'!$D$2:$D$505;'LANCAMENTOS SAIDA'!$B$2:$B$505;B8;'LANCAMENTOS SAIDA'!$E$2:$E$505;"SAIDA")
para
=SOMASES('LANCAMENTOS SAIDA'!$D$3:$D$505;'LANCAMENTOS SAIDA'!$B$3:$B$505;B8;'LANCAMENTOS SAIDA'!$E$3:$E$505;"ENTRADA")-SOMASES('LANCAMENTOS SAIDA'!$D$3:$D$505;'LANCAMENTOS SAIDA'!$B$3:$B$505;B8;'LANCAMENTOS SAIDA'!$E$3:$E$505;"SAIDA")
se insiro mais uma linha entao
=SOMASES('LANCAMENTOS SAIDA'!$D$4:$D$505;'LANCAMENTOS SAIDA'!$B$4:$B$505;B8;'LANCAMENTOS SAIDA'!$E$4:$E$505;"ENTRADA")-SOMASES('LANCAMENTOS SAIDA'!$D$4:$D$505;'LANCAMENTOS SAIDA'!$B$4:$B$505;B8;'LANCAMENTOS SAIDA'!$E$4:$E$505;"SAIDA")
E agora como resolvo este problema??
POis optei em manter a ultima atualizacao na primeira linha, se eu optar em colar na abaixo da ultima linha nao teria este problema, mas queria manter em cima mesmo, tem solucao ?
Andre