Jump to content



Foto

Macro Copiar Celula para Outra Celula



Existem 7 respostas neste tópico

#1 Douglas Filipe    

Douglas Filipe
  • Participante
  • 2157 mensagens

Publicado 27 January 2009 - 02:10 PM

Tenho uma planilha onde faço consulta em uma View do SQL Server, o resultado da consulta é retornado na linha 5 da planilha como pode ser visto na figura abaixo:

Posted Image

Minha necessidade é, criar um botão, macro, qualquer coisa facil, simples e dinamico, para que o resultado da linha 5 seja copiado/duplicado para a linha 7, se a linha 7 ja estiver preenchida ele copia/duplica pra linha 8 e assim sucetivamente, até quando o usuario finalizar o processo. É possivel fazer isso no Excel 2007? Como fazer?
http://douglasfilipe.wordpress.com
Diga se a dica funcionou, POR FAVOR!
Não respondo duvidas por MP. Use o fórum, assim todos se beneficiam.


#2 spielmann    

spielmann
  • Participante
  • 2461 mensagens

Publicado 28 January 2009 - 11:24 PM

ALT F11-Entra em VBA- Inserir Modulo-Copie e cole as linhas abaixo.
Atribua a um botão o nome da macro.


Sub CopiaeCola()
Rows("6:6").Select
Selection.Insert Shift:=xlDown
Rows("5:5").Select
Selection.Copy
Range("A7").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
" A maior Riqueza do Homem e o seu Conhecimento e sua Sabedoria e isto ninguém tira ,mas podemos dividi-la" - " A cada dia que passa descobri que Só sei que nada Sei"

#3 Douglas Filipe    

Douglas Filipe
  • Participante
  • 2157 mensagens

Publicado 29 January 2009 - 08:07 AM

Meu irmão, to de cara (Y) funcionou direitinho, ta do jeito que eu queria, muito obrigado mesmo!
Agora se nao for pedir demais tem como colocar uma "cereja" nesse sorvete? Um função pra copiar para area de transferencia os dados que foram inseridos, porque essa seria uma planilha modelo, o usuario iria adicionar esses resultados para outra planilha, e iniciar um fluxo de trabalho no SharePoint, mas ja ajudou muito. thanks a lot!!!
http://douglasfilipe.wordpress.com
Diga se a dica funcionou, POR FAVOR!
Não respondo duvidas por MP. Use o fórum, assim todos se beneficiam.

#4 sharkjfsp    

sharkjfsp
  • Participante
  • 912 mensagens

Publicado 03 February 2009 - 02:32 PM

Tenho uma planilha onde faço consulta em uma View do SQL Server, o resultado da consulta é retornado na linha 5 da planilha como pode ser visto na figura abaixo:

Posted Image

Minha necessidade é, criar um botão, macro, qualquer coisa facil, simples e dinamico, para que o resultado da linha 5 seja copiado/duplicado para a linha 7, se a linha 7 ja estiver preenchida ele copia/duplica pra linha 8 e assim sucetivamente, até quando o usuario finalizar o processo. É possivel fazer isso no Excel 2007? Como fazer?

Aproveitando a Ótima resposta do Spielmann ...

Caso queira copiar o Conteúdo do Intervalo mencionado e Não a Fórmula - Se tiver Fórmula na Linha a ser Copiada :

.
.
.
6 - Range("A7").Select
7 - ActiveSheet.Paste
8 - Application.CutCopyMode = False
9 - End Sub

Substitua a Linha 7 por => Selection.PasteSpecial Paste:=xlPasteValues

Espero ter Sido Útil .
Aguardo resposta neste Fórum , Vlw !?


Disponibilizando Arquivo no Fórum - Regras do Fórum - Diga se a Dica Funcionou , POR FAVOR ! - Sites que oferecem apostilas gratuitamente
ccclxvii - A mente que se abre a uma nova idéia jamais voltará ao seu tamanho original.


#5 Douglas Filipe    

Douglas Filipe
  • Participante
  • 2157 mensagens

Publicado 03 February 2009 - 04:04 PM

Ta otimo, usuario consulta no banco SQL da nossa ERP, relatorio ta saindo padrao, ja publiquei no sharepoint.
http://douglasfilipe.wordpress.com
Diga se a dica funcionou, POR FAVOR!
Não respondo duvidas por MP. Use o fórum, assim todos se beneficiam.

#6 raul.silva    

raul.silva
  • Participante
  • 60 mensagens

Publicado 06 February 2009 - 11:52 AM

Olá senhores,
Reascendendo a chama.
Se eu precisasse colocar as informações coletadas em outra planilha, como ficaria o código.

Eu tentei um worksheets("plan2").select no meio do código mas meti os pés pelas mãos.

Dei uma alterada no código.

Private Sub CommandButton1_Click()
Range("a6:j6").Select
Selection.Insert Shift:=xlDown
Range("a5:j5").Select
Selection.Copy
Range("a7").Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Range("a5:j5").Select
Selection.Clear
Range("a5").Select
End Sub


Abraços.

R.
R.
Fascinado por excel.

#7 sharkjfsp    

sharkjfsp
  • Participante
  • 912 mensagens

Publicado 27 July 2009 - 06:39 PM

Olá senhores,
Reascendendo a chama.
Se eu precisasse colocar as informações coletadas em outra planilha, como ficaria o código.

Eu tentei um worksheets("plan2").select no meio do código mas meti os pés pelas mãos.

Tente este abaixo ... Desculpas pela demora =D .
Private Sub CommandButton1_Click()
Sheets("Plan1").Select
Rows("5:5").Copy
Sheets("Plan2").Select
Range("A7").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues
'<= ou ActiveSheet.Paste para colar com Fórmulas caso tenha
Application.CutCopyMode = False
Sheets("Plan1").Select
End Sub


Espero Ter Sido Útil .
Aguardo Resposta , Vlw !?


Disponibilizando Arquivo no Fórum - Regras do Fórum - Diga se a Dica Funcionou , POR FAVOR ! - Sites que oferecem apostilas gratuitamente
ccclxvii - A mente que se abre a uma nova idéia jamais voltará ao seu tamanho original.


#8 Ngoka    

Ngoka
  • Participante
  • 1 mensagens

Publicado 05 September 2012 - 11:44 AM

Socorro tenho uma duvida, esse post é antigo mais esta ser util. Estou agora a aprender macro em excel e estou a usar o seguinte codigo abaixo postado por um dos intervenientes no post:

Private Sub Workbook_Open()
Sheets("Folha1").Select
Rows("2:9").Copy
Sheets("detalhe").Select
If Sheets("detalhe")
Range("A810").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Sheets("Folha1").Select
End Sub

Na folha1 eu tenho o resultado de uma consulta proveniente do Miscrosoft Query, que pelo codigo acima, sempre Workbook_Open, ele actualiza o planilha "detalhe" apartir da Range(A810), mais a vezes que a folha1 não é actualizada e ele duplica as linhas sempre que abre o ficheiro.

O que eu pretendia é que ele so copia se as linhas não existentes no planilha "detalhe" ou seja caso existam ele não toma se nehuma acção, e ignora se as linhas em branco da folha 1 e so copia se as que tem algum conteudo.
Não sei se me fiz perceber, toda a ajuda é bem vida.