Ir ao conteúdo
  • Cadastre-se
Davi Ferreira

Macro envio dados de uma celula para outra

Recommended Posts

Fala galera, boa tarde!

 

Bem, meu problema é o seguinte:

Eu tenho a seguinte planilha: http://www.sendspace.com/file/h5xvaz

 

Como vocês podem ver ela tem a aba início (já nos moldes que pretendo usar, porém pode ser alterada);

Tem a aba "prev faturamento", "Faturamento dia"; Para envio (podem desconsiderar essa) e Bd_clientes

 

Qual meu problema? Bem, eu preciso de ajuda para que os dados que serão digitados na aba "início", ao clicar no botão "cadastrar pedido" irem para a aba "Prev faturamento".

Eu Até então usava uma caixa daquelas que é feita no visual basic, porém meu gerente pediu para que eu fizesse assim.

Como Está o procedimento da plan até então:

1-Preencho o código do cliente

2-É feito um procv do cliente e do representante na aba "bd_cliente"

3-Preencho os outros dados (valor, n nf e n pedido)

 

O que eu preciso: Ajuda no Macro para, ao apertar o botão "Cadastrar pedido" esses dados dos 3 passos irem para a aba "Prev faturamento".

 

Eu tenho o seguinte macro base que uso em alguns bds de useform.

 

Private Sub btnEntra_Click()
Application.ScreenUpdating = False
Sheets("Bd_fornec").Select
ActiveSheet.Range("A1048576").Select
ActiveCell.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveCell = txtCNPJ.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = txtNome.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = txtEndereco.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = txtTelefone.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = txtEmail.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = txtPessoa.Value
Sheets("inicio").Select
Application.ScreenUpdating = True

End Sub

 

Poderia usá-lo? Alterá-lo? Se Sim, como?

 

Desde já agradeço a ajuda de todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser experimentar este código, instale-o em um módulo comum, assim:

1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

Em seguida atribua o código ao botão que irá dispará-lo, na planilha "Inicio".

Antes de rodar o código:
1. nas planilhas "Inicio" e "Prev faturamento" os campos estão em sequência diferente; escolha uma sequência e aplique em ambas as planilhas (na "Inicio" em coluna e na outra em linha)
2. na planilha "Inicio" desfaça as mesclagens de células da coluna "E"; se quiser ajuste a largura da coluna.

 

Sub CopiaDados()  Dim LR As Long    With Sheets("Prev faturamento")      LR = .Cells(Rows.Count, 1).End(xlUp).Row        .Cells(LR + 1, 1).Resize(, 6).Value = _        Application.Transpose(Range("E7:E12").Value)    End WithEnd Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Se quiser experimentar este código, instale-o em um módulo comum, assim:

1. copie o código daqui

2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA

3. no menu do editor >> Inserir >> Módulo

4. cole o código na janela em branco que vai se abrir

5. feito! 'Alt+Q' para retornar para a planilha e testar

Em seguida atribua o código ao botão que irá dispará-lo, na planilha "Inicio".

Antes de rodar o código:

1. nas planilhas "Inicio" e "Prev faturamento" os campos estão em sequência diferente; escolha uma sequência e aplique em ambas as planilhas (na "Inicio" em coluna e na outra em linha)

2. na planilha "Inicio" desfaça as mesclagens de células da coluna "E"; se quiser ajuste a largura da coluna.

 

Sub CopiaDados()  Dim LR As Long    With Sheets("Prev faturamento")      LR = .Cells(Rows.Count, 1).End(xlUp).Row        .Cells(LR + 1, 1).Resize(, 6).Value = _        Application.Transpose(Range("E7:E12").Value)    End WithEnd Sub

Po cara, muito obrigado, muito mesmo de coração!

 

Antes de fechar o tópico, se puder me tira mais uma dúvida:

É o seguinte: Como você viu ai eu estou enviando os dados para a "Prev Faturamento", porém, Eu preciso do seguinte:

há alguns casos que o pedido é gerado sem nf, ai ele fica na "Prev Faturamento", porém quando é digitada o nº da NF eu envio as notas para o "Faturamento Dia"

Você saberia algum código para fazer o seguinte:

1-Ao digitar o número das notas e apertar um novo botão na aba "Prev Faturamento" Ela transpor as linhas que contém o número da NF para a aba "Faturamento Dia"

 

Se tu puder me ajudar fico muito grato amigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×