Usuário com melhor resposta
SALVAR EM DUAS PLANILHAS O MESMO ITEM

Pergunta
-
OLA TUDO BEM.
GOSTARIA DE UMA AJUDA POR FAVOR
TENHO 1 PLANILHA COM 5 ABAS
NA ABA 1(PLAN1) TENHO CADASTRO DE CLIENTES E NA ABA 3(PLAN2) TENHO FARMACIA POPULAR...
QUANDO EU FAÇO UMA VENDA NA FARMACIA POPULAR LANÇO TODOS OS DADOS EM UMA PLAN6, MAIS GOSTARIA DE APENAS DUAS CAIXA DATA DA VENDA E PRÓXIMA CAIXA FOSSE LANÇADA E ALTERANDO LÁ NA (PLAN1) TAMBÉM TEXTBOX1(COLUNA 20) E PRÓXIMA VENDA NA TEXTBOX2 (COLUNA 21) NO CADASTRO DE CLIENTES...
ESSE CÓDIGO É DA FARMACIA POPULAR E GOSTARIA DE LANÇAR EM OUTRA PLAN1
VENDAS = txt_num_vendas
codigo = txt_codigo
clientes = txt_clientes
Cells(Linha, 1) = txt_num_vendas 'COD do VENDAS
Cells(Linha, 2) = txt_codigo 'CODIGO CLIENTES
Cells(Linha, 3) = txt_clientes ' NOME do cliente
'** Atribuindo valores as variáveis com os dados da listview
txt_medicamentos = lst_cadprodutos.ListItems.Item(i)
txt_qtda = lst_cadprodutos.ListItems.Item(i).SubItems(5)
'Lançando os dados na planilha
Cells(Linha, 4) = txt_medicamentos 'cod. produto
Cells(Linha, 5) = lst_cadprodutos.ListItems.Item(i).SubItems(1) 'produto
Cells(Linha, 6) = txt_medicos
Cells(Linha, 7) = txt_data_receita
Cells(Linha, 8) = txt_datacompra
Cells(Linha, 9) = txt_proxima_compra
Cells(Linha, 10) = txt_validade_receitacoloquei um código mais dai ele não alterava, ele duplicava os clientes das vendas..
obrigado
- Editado Odair Richard quarta-feira, 15 de abril de 2015 00:53
Respostas
-
Coloca isso depois do laço.
Dim sht As Worksheet Dim intCodCliente As Integer Set sht = ThisWorkbook.Sheets("Plan1") intCodCliente = 2 Set c = sht.Range("A1:A100").Find(intCodCliente, lookat:=xlWhole) Linha = c.Row sht.Cells(Linha, 2) = txt_codigo 'CODIGO CLIENTES ------PLAN6 COLUNA 1 (TEXT_CODIGO) sht.Cells(Linha, 3) = txt_clientes ' NOME do cliente ------ PLAN6 COLUNA 2 (TEXT_CLIENTES) sht.Cells(Linha, 8) = txt_datacompra ' ----------------------PLAN6 COLUNA 20 (TXT_TEXTBOX1) sht.Cells(Linha, 9) = txt_proxima_compra '-------------------PLAN6 COLUNA 21 (TXT_TEXTBOX2)
Natan
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de abril de 2015 16:23
Todas as Respostas
-
Você precisa determinar em qual guia você irá lançar os dados:
DIm sht as worksheet set sht = thisworkbook.sheets("NomeDaSuaGuia") sht.Cells(Linha, 1) = txt_num_vendas 'COD do VENDAS sht.Cells(Linha, 2) = txt_codigo 'CODIGO CLIENTES sht.Cells(Linha, 3) = txt_clientes ' NOME do cliente '** Atribuindo valores as variáveis com os dados da listview txt_medicamentos = lst_cadprodutos.ListItems.Item(i) txt_qtda = lst_cadprodutos.ListItems.Item(i).SubItems(5) 'Lançando os dados na planilha sht.Cells(Linha, 4) = txt_medicamentos 'cod. produto sht.Cells(Linha, 5) = lst_cadprodutos.ListItems.Item(i).SubItems(1) 'produto sht.Cells(Linha, 6) = txt_medicos sht.Cells(Linha, 7) = txt_data_receita sht.Cells(Linha, 8) = txt_datacompra sht.Cells(Linha, 9) = txt_proxima_compra sht.Cells(Linha, 10) = txt_validade_receita
Natan
-
olá Natan ...obrigado
só que quando salvo na planilha farmácia popular esta tudo certo.. é esse codigo....
Cells(Linha, 1) = txt_num_vendas 'COD do VENDAS
Cells(Linha, 2) = txt_código 'CÓDIGO CLIENTES
Cells(Linha, 3) = txt_clientes ' NOME do cliente
'** Atribuindo valores as variáveis com os dados da listview ' AQUI POSSO COLOCAR VARIOS PRODUTOS
txt_medicamentos = lst_cadprodutos.ListItems.Item(i)
txt_qtda = lst_cadprodutos.ListItems.Item(i).SubItems(5)Cells(Linha, 4) = txt_medicamentos 'cod. produto
Cells(Linha, 5) = lst_cadprodutos.ListItems.Item(i).SubItems(1) 'produto
Cells(Linha, 6) = txt_medicos
Cells(Linha, 7) = txt_data_receita
Cells(Linha, 8) = txt_datacompra
Cells(Linha, 9) = txt_proxima_compra
Cells(Linha, 10) = txt_validade_receitaaté aqui tudo certo ok
agora gostaria de pegar nesse mesmo userform (farmacia popular) e lançar esses dados lá na plan ( cadastro clientes), mais quando coloco esse codigo...
DIm sht as worksheet
set sht = thisworkbook.sheets("NomeDaSuaGuia")se eu vender 2 produtos para a mesma pessoa ele altera o codigo de baixa tb
1 ABIGAIL SILVA DE SOUZA 3 ADAO CAETANO AFONSO 4 AFONSO TEIXEIRA 4 AFONSO TEIXEIRA
6 AFONSO PIRES DE ARVALHO dai o código 4 repetiu e tirou o codigo 5 ...
deu certo lá na coluna 20/21 apareceu sim a data da compra e próxima data mais subscreveu o de baixo
OBRIGADO POR ME AJUDAR
-
-
OBRIGADO DE NOVO NATAN
ESSES CÓDIGOS VÃO LANÇAR NA PLAN2 ("FARMACIA POPULAR") ESSES CÓDIGOS ESTÃO CERTO OK...
Private Sub btn_salvar_Click()
'** teste para verificar preenchimento da condição da receita
If txt_clientes = "" Then
MsgBox "Insira o nome do clientes!", vbOKOnly + vbExclamation, Soft
Exit Sub
End If
If Me.opt_4meses = False And _
Me.opt_1ano = False Then
MsgBox "Não há o preenchimento da tempo da validade da receita!", vbCritical, Soft
Exit Sub
End If
Dim i As Integer
Dim xLin As Long
Dim xPro As Integer
Dim xCod As String
Dim xQTD As Integer
Dim Linha As Long
'* Faz os testes para certificar que os campos estão preenchidos
'** teste para verificar o preenchimento do cliente
If Me.txt_num_vendas = 0 Then
MsgBox "Não há CLIENTE CADASTRADO !", vbOKOnly + vbExclamation, Soft
Me.txt_codigo.SetFocus
Exit Sub
End If
'** Verifica se escolhido datas de vencimento
If txt_validade_receita < Date Then
MsgBox "Insira as datas de vencimentos para a receita 4 meses ou 1 ano!", vbCritical, Soft
Me.txt_validade_receita.SetFocus
Exit Sub
End If
Resp = MsgBox("Deseja realmente FECHAR este Pedido?", vbYesNo + vbDefaultButton1, Soft)
If Resp = vbNo Then
Resp = MsgBox("Deseja CANCELAR este Pedido?", vbYesNo + vbDefaultButton2, Soft)
If Resp = vbYes Then
MsgBox "Venda cancelada pelo usuário!", vbInformation, Soft
Exit Sub
End If
End If
'*** Laço para lançar todos os itens do pedido na planilha
Plan2.Activate
Linha = Range("A" & Rows.Count).End(xlUp).Row + 1
For i = 1 To lst_cadprodutos.ListItems.Count
On Error Resume Next
'* Dados da aba cliente * Declaração das variáveis
VENDAS = txt_num_vendas
codigo = txt_codigo
clientes = txt_clientes
Cells(Linha, 1) = txt_num_vendas 'COD do VENDAS
Cells(Linha, 2) = txt_codigo 'CODIGO CLIENTES
Cells(Linha, 3) = txt_clientes ' NOME do cliente
'** Atribuindo valores as variáveis com os dados da listview
txt_medicamentos = lst_cadprodutos.ListItems.Item(i)
txt_qtda = lst_cadprodutos.ListItems.Item(i).SubItems(5)
'Lançando os dados na planilha
Cells(Linha, 4) = txt_medicamentos 'cod. produto
Cells(Linha, 5) = lst_cadprodutos.ListItems.Item(i).SubItems(1) 'produto
Cells(Linha, 6) = txt_medicos
Cells(Linha, 7) = txt_data_receita
Cells(Linha, 8) = txt_datacompra
Cells(Linha, 9) = txt_proxima_compra
Cells(Linha, 10) = txt_validade_receita
Linha = Linha + 1
VENDAS = VENDAS + 1
Next i
Do Until Sheets("FARMÁCIA POPULAR").Cells(Linha, 1) = ""
If Sheets("FARMÁCIA POPULAR").Cells(Linha, 1) > VENDAS Then
VENDAS = VENDAS + 1
Linha = Linha + 1
End If
Loop
VENDAS = txt_num_vendas
'Salva Plan e seleciona para geração de recibo de pedido
AtiveWorkbook.Save
Unload Me
LANCAMENTO_FARMACIA_POPULAR.Show
End Sub-------------------------------------------------------------------------------------------------------------------
AGORA EU QUERIA LANÇAR ESSES CÓDIGOS TAMBÉM NA PLAN6 ("CADASTRO CLIENTES")
-----ESSE COD VERIFICARIA LÁ NA PLAN6 ("CADASTRO CLIENTES") OS MESMO COD E ATUALIZARIA SOMENTE ESSE COD..
Cells(Linha, 2) = txt_codigo 'CODIGO CLIENTES ------PLAN6 COLUNA 1 (TEXT_CODIGO)
Cells(Linha, 3) = txt_clientes ' NOME do cliente ------ PLAN6 COLUNA 2 (TEXT_CLIENTES)
Cells(Linha, 8) = txt_datacompra ----------------------PLAN6 COLUNA 20 (TXT_TEXTBOX1)
Cells(Linha, 9) = txt_proxima_compra -------------------PLAN6 COLUNA 21 (TXT_TEXTBOX2)SÓ QUE QUANDO FAÇO VENDA TENHO UMA LISTVIEW DE PRODUTOS
'** Atribuindo valores as variáveis com os dados da listview
txt_medicamentos = lst_cadprodutos.ListItems.Item(i)
txt_qtda = lst_cadprodutos.ListItems.Item(i).SubItems(5)SE EU VENDER MAIS DE UM (1) PRODUTO NÃO DA CERTOELE DOBRA O CLIENTES QUANTAS X EU TENHA VENDIDO OS PRODUTOS E SUBSCREVE NO DE BAIXO APAGANDO
1 ABIGAIL SILVA DE SOUZA 3 ADAO CAETANO AFONSO 4 AFONSO TEIXEIRA 4 AFONSO TEIXEIRA 6 AFONSO PIRES DE ARVALHO OBRIGADO PELA ATENÇÃO DE NOVO
-
Coloca isso depois do laço.
Dim sht As Worksheet Dim intCodCliente As Integer Set sht = ThisWorkbook.Sheets("Plan1") intCodCliente = 2 Set c = sht.Range("A1:A100").Find(intCodCliente, lookat:=xlWhole) Linha = c.Row sht.Cells(Linha, 2) = txt_codigo 'CODIGO CLIENTES ------PLAN6 COLUNA 1 (TEXT_CODIGO) sht.Cells(Linha, 3) = txt_clientes ' NOME do cliente ------ PLAN6 COLUNA 2 (TEXT_CLIENTES) sht.Cells(Linha, 8) = txt_datacompra ' ----------------------PLAN6 COLUNA 20 (TXT_TEXTBOX1) sht.Cells(Linha, 9) = txt_proxima_compra '-------------------PLAN6 COLUNA 21 (TXT_TEXTBOX2)
Natan
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de abril de 2015 16:23
-
desculpa , mais ainda esta subscrevendo quando tem mais de um produto e as duas datas não estão entrando na coluna 20,21
esses códigos estão dando certo, mais quando tem mais de um produto ele subscreve na linha de baixa ...mesmo colocando embaixo do loop...
sht.Cells(Linha, 2) = txt_codigo 'CODIGO CLIENTES ------PLAN6 COLUNA 1 (TEXT_CODIGO)
sht.Cells(Linha, 3) = txt_clientes ' NOME do cliente ------ PLAN6 COLUNA 2 (TEXT_CLIENTES)essas não estão entrando lá na plan6 ("cadastro clientes")
sht.Cells(Linha, 8) = txt_datacompra ' ----------------------PLAN6 COLUNA 20 (TXT_TEXTBOX1)
sht.Cells(Linha, 9) = txt_proxima_compra '-------------------PLAN6 COLUNA 21 (TXT_TEXTBOX2)OBS: NESTA LISTVIEW POSSO COLOCAR VARIOS PRODUTOS, DAÍ QUANDO ELA LANÇA NA PLAN2 ("FARMACIA POPULAR") ELA COLOCA OS PRODUTOS EM LINHAS SE FOI 3 PRODUTOS VAI REPETIR 3 X O MESMO NOME...
SERÁ POR ISSO QUE NÃO ESTÁ DANDO CERTO?
'** Atribuindo valores as variáveis com os dados da listview
txt_medicamentos = lst_cadprodutos.ListItems.Item(i)
txt_qtda = lst_cadprodutos.ListItems.Item(i).SubItems(5)desculpa,Natan
-
Não precisa pedir desculpa amigo.... estamos todos aqui pra aprender e ajudar aprendendo.
Se puder, me manda sua planilha que dou uma olhada e vejo como ajudar.
meu email: <removido>
Natan
- Editado 'Natan Silva quinta-feira, 16 de abril de 2015 02:11 remoção do meu email - o usuário já envio o arquivo
-