Este fórum foi descontinuado. LEIA AQUI e participe da Comunidade BABOO :)

A área de Remoção de Malwares está aberta na Comunidade BABOO. LEIA AQUI

Ir para conteúdo
mfp2010

Macro de copiar e colar dentro da planilha(loop)

Mensagem Recomendada

Olá,

Tenho a necessidade de fazer uma macro /loop, onde copia um item da coluna A e cola na C2 e a cada item copiado execute a impressão.

Resumindo que ao executar a macro ele copie 101 na C2 e imprima, depois 102 na C2 e imprimia e assim sucessivamente até o fim da lista( qnt indeterminada).

Conseguindo este loop o resto consigo adaptar na minha necessidade.

exemplo em anexo.

Neste exemplo, para fazer a minha necessidade tenho que repetir a macro para cada célula, imagina ter 500 linhas...

Desde já agradeço a atenção!

post-546577-040090600 1295947460_thumb.j

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se ajuda

Sub CopiaColaImprime()

Dim LR As Long
Dim i As Long

LR = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LR
Cells(2, 3) = Cells(i, 1)
ActiveSheet.PrintOut
Next i

End Sub

Osvaldo


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Usando como base o exemplo anterior, que ao invés de copiar e colar uma célula por vez, de que copie e cole 3 células por vez, assim sucessivamente.

Resumindo que ao executar a macro ele copie

( 101,102,103) na (C2, C3, C4 ) e imprima, depois

( 104,105,106) na (C2, C3, C4 ) e imprimia e assim sucessivamente até o fim da lista( qnt indeterminada).

Desde já agradeço atenção.

post-546577-080894900 1297264322_thumb.j

Editado por mfp2010

Compartilhar este post


Link para o post
Compartilhar em outros sites

experimente

Sub CopCol3X3Impr()

Dim LR, i As Long

LR = Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To LR Step 3
Cells(i, 1).Resize(3).Copy Destination:=Cells(2, 3)
ActiveSheet.PrintOut
Next i

End Sub

Osvaldo


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)
Em 25/01/2011 at 5:58 PM, osvaldomp disse:

veja se ajuda

 

 

Sub CopiaColaImprime()

Dim LR As Long
Dim i As Long

LR = Range("A" & Rows.Count).End(xlUp).Row
	For i = 2 To LR
        	Cells(2, 3) = Cells(i, 1)
        	ActiveSheet.PrintOut
	Next i

End Sub

 

Osvaldo

Bom dia Osvaldomp, poderia me dar uma ajuda? Adaptei o seu código para uma necessidade minha, porém não estou conseguindo fazer dar certo, não sei o que pode estar errado.
Tenho uma planilha que eu preciso selecionar varios códigos e depois a macro faz um ajuste nas linhas, logo apos isso ela gera um pdf das 2 guias. vou inserir a planilha para ficar mais facil o entendimento.

Mais uma vez, obrigado!

Planilha..xlsm

Editado por Gustavo Paschoal

Compartilhar este post


Link para o post
Compartilhar em outros sites
23 horas atrás, Gustavo Paschoal disse:

Adaptei o seu código para uma necessidade minha, porém não estou conseguindo fazer dar certo, ...
Sugestão: deixe de lado a tentativa de aproveitar o código e explique com exatidão o que você deseja que a macro faça.

Tenho uma planilha que eu preciso selecionar varios códigos ...
No seu arquivo há 2 planilhas, Consistencia e Justificativas, em qual delas você quer selecionar vários códigos? Em quais células? O que são códigos?

... e depois a macro faz um ajuste nas linhas, ...
Que ajuste ? Em quais linhas ?

... vou inserir a planilha (arquivo) para ficar mais facil o entendimento.
Disponibilize novo arquivo que não esteja protegido, com os esclarecimentos das dúvidas acima e com o resultado desejado.

 

Ainda, grave uma macro das operações e coloque-a aqui no fórum, ela poderá ajudar a entender o seu objetivo e assim facilitar a elaboração de um novo código.


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 25/01/2019 at 6:28 PM, osvaldomp disse:

Ainda, grave uma macro das operações e coloque-a aqui no fórum, ela poderá ajudar a entender o seu objetivo e assim facilitar a elaboração de um novo código.

Bom dia Osvaldo, obrigado pela resposta!

Vamos lá, 

Sugestão: deixe de lado a tentativa de aproveitar o código e explique com exatidão o que você deseja que a macro faça.
Gostaria que a macro pegasse uma sequencia de números que irei colar a partir da linha 2 da coluna L da aba "Justificativas" (talvez serão 180 códigos colados), pegue o código da célula L2, cole na célula J7 da mesma aba "Justificativas", após isso ele ajusta os textos da coluna J, as células que contenha os números 0 da coluna A (ajustar o texto para caber dentro das células da coluna J) e logo após esse ajuste ele gera um arquivo em pdf das duas abas Consistência e Justificativa.

Disponibilize novo arquivo que não esteja protegido, com os esclarecimentos das dúvidas acima e com o resultado desejado.

Segue a planilha sem senha.

Sobre as macros, segue as que eu tinha criado: 

Gerar pdf:

Sub PDF_()

Dim nome As String

nome = ThisWorkbook.Path & "\Consistencia" & "_" & ActiveSheet.Range("MES").Value & " - " & ActiveSheet.Range("Nome_Concessionaria").Value & ".pdf"

nome = Replace(nome, "/", "-")

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nome, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 

Ajuste das linhas:

Sub ajustar()
'
' ajustar Macro
'

'
    Rows("14:113").Select
    Rows("14:113").EntireRow.AutoFit
    ActiveWindow.ScrollRow = 97
    ActiveWindow.ScrollRow = 95
    ActiveWindow.ScrollRow = 86
    ActiveWindow.ScrollRow = 83
    ActiveWindow.ScrollRow = 75
    ActiveWindow.ScrollRow = 71
    ActiveWindow.ScrollRow = 63
    ActiveWindow.ScrollRow = 56
    ActiveWindow.ScrollRow = 52
    ActiveWindow.ScrollRow = 49
    ActiveWindow.ScrollRow = 47
    ActiveWindow.ScrollRow = 46
    ActiveWindow.ScrollRow = 45
    ActiveWindow.ScrollRow = 43
    ActiveWindow.ScrollRow = 42
    ActiveWindow.ScrollRow = 41
    ActiveWindow.ScrollRow = 40
    ActiveWindow.ScrollRow = 39
    ActiveWindow.ScrollRow = 37
    ActiveWindow.ScrollRow = 36
    ActiveWindow.ScrollRow = 34
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 7
    ActiveWindow.ScrollRow = 5
    ActiveWindow.ScrollRow = 4
    ActiveSheet.Range("$A$13:$A$113").AutoFilter Field:=1, Criteria1:="0"
End Sub
 

Macro para copiar e colar na célula desejada:

Sub CopiaColaImprime()

Dim LR As Long
Dim i As Long

LR = Range("L" & Rows.Count).End(xlUp).Row
    For i = 7 To 200 'LR
            Cells(7, 10) = Cells(i, 200)
            Call ajustar
            Call PDF_
    Next i

End Sub
 

Espero que tenha ficado claro, qualquer coisa vou enviando mais dados para você. Sobre o local que vou colar os códigos, se você tiver uma sugestão melhor ou quiser criar uma aba para isso, fique a vontade, só preciso automatizar essa questão de gerar os arquivos em pdf automaticamente, pois isso me toma um tempo danado todo mês.

Obrigado!


 

Planilha.xlsm

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Gustavo Paschoal disse:

Gostaria que a macro pegasse uma sequencia de números que irei colar a partir da linha 2 da coluna L da aba "Justificativas" (talvez serão 180 códigos colados), pegue o código da célula L2, cole na célula J7...
No exemplo que você postou as células L2 a L6 estão vazias. O que você quer fazer nesses casos ? Na lista de códigos poderão ocorrer células vazias ?

... após isso ele ajusta os textos da coluna J, as células que contenha os números 0 da coluna A (ajustar o texto para caber dentro das células da coluna J) ...
1. no seu exemplo nenhuma célula da coluna contém zero
2. explique com exatidão o que você quer dizer com "ajustar o texto"
3. repetindo o que comentei antes: COLOQUE EXEMPLOS DE ZEROS NA COLUNA A E COLOQUE O RESULTADO DESEJADO NA COLUNA J
4. no exemplo postado não oculte linhas na planilha

 

 

 

 


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, osvaldomp disse:

 

Boa tarde Osvaldo, 

 

No exemplo que você postou as células L2 a L6 estão vazias. O que você quer fazer nesses casos ? Na lista de códigos poderão ocorrer células vazias ?

Na verdade acabei confundindo, o certo mesmo é a partir da L7, acredito que se houver células vazias, a macro vai gerar um arquivo zerado, certo? 

1. no seu exemplo nenhuma célula da coluna contém zero

Na coluna A da aba "justificativa" tem um filtro, basicamente a macro filtra apenas as células que estejam zeradas e ajusta o texto para caber dentro das células da coluna J (Exemplo da conta D17 que está na Linha 37, não é possivel ler o texto da célula J37). Clicando no quadrado azul, ele executa a macro.

2. explique com exatidão o que você quer dizer com "ajustar o texto"

Ajustar o texto seria aumentar a altura da linha para que seja possível a leitura do texto.

3. repetindo o que comentei antes: COLOQUE EXEMPLOS DE ZEROS NA COLUNA A E COLOQUE O RESULTADO DESEJADO NA COLUNA J

Exemplo F6-1 linha 45, o é possível ler o texto da coluna J.

4. no exemplo postado não oculte linhas na planilha

Segue a planilha com as células re-exibidas.

Mais uma vez, obrigado pela força!

Planilha.xlsm

Compartilhar este post


Link para o post
Compartilhar em outros sites

×
×
  • Criar Novo...