Notifications
Clear all

macro para copiar sem espaços brancos

26 Posts
7 Usuários
0 Reactions
3,372 Visualizações
(@nmareis)
Posts: 22
Eminent Member
Topic starter
 

Bom dia pessoal,

preciso de uma macro para me copiar uma lista de uma coluna de excell com vários espaços em branco entre si, de uma folha para outra, mas quando colar não pode ter esses espaços em branco...será que me podem ajudar?...obrigado
a coluna que vai ser copiada tem formulas nas células...penso que isto deve ser importante...na parte copiada pode aparecer só o texto..

 
Postado : 11/02/2016 6:26 am
(@robo8268)
Posts: 73
Trusted Member
 

Não entendi a sua duvida, você quer substituir os espaços em branco por nada?

Se for isso, faz o seguinte:
Sheets(planilhaOrigem).Range("letradacoluna1:letradacoluna" & Sheets(planilhaOrigem).Cells(Rows.Count,numerodacoluna).End(xlUp).Row).Copy

Sheets(planilhaDestino).Range("letradacoluna1:letradacoluna" & Sheets(planilhaOrigem).Cells(Rows.Count,numerodacoluna).End(xlUp).Row).PasteSpeciall xlPasteAll

For i=1 To Cells(Rows.Count,numerodacoluna).End(xlUp).Row
Range("letradacoluna"&i).Value = Replace(Range("letradacoluna"&i).Value;" ";"")
Next i

 
Postado : 11/02/2016 7:20 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pelo que eu entendi , quando colar não pode ter as "Lacunas" linhas em branco correto?

Não sei se atende, mas depois de colar você poderia simplesmente classificar sua coluna de forma que a linhas em branco fique abaixo de tudo.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/02/2016 7:24 am
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

Sub Copy_Clear()
Dim rLocal As Range

Sheets("Plan1").Select
Range("A1").Select
Range("A:A").Select

Selection.Copy

Sheets("Plan2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select

'----------------------------------------------------------------------------------------------------

''Atribuição das variáveis (Esse código você escolhe qual célula ou coluna deseja limar)
'Set rLocal = Application.InputBox(Prompt:="Selecione as células que deseja limpar...", Type:=8)

'rLocal.Replace What:=" ", Replacement:=""
'End Sub

'----------------------------------------------------------------------------------------------------

'Atribuição das variáveis (Esse código já está definindo qual coluna)
Set rLocal = Plan2.Range("A1:A10")

rLocal.Replace What:=" ", replacement:=""

End Sub

 
Postado : 11/02/2016 7:33 am
(@nmareis)
Posts: 22
Eminent Member
Topic starter
 

olha a folha de origem é M.d.M e a de destino é OT
a coluna de origem é a coluna AZ e vai do numero A1 até A1500,
a coluna de destino é AN e vai do número A26 até a56

quero copiar da origem e colar no destino, mas sem os espaços ou seja a listagem aparece seguida...sem espaços...a tua ideia está a funcionar, mas ainda tem os espaços brancos...por isso coloco-te aqui estes dados para ver se me podes ajudar melhor...obrigado

 
Postado : 11/02/2016 8:01 am
(@nmareis)
Posts: 22
Eminent Member
Topic starter
 

Pelo que eu entendi , quando colar não pode ter as "Lacunas" linhas em branco correto?

Não sei se atende, mas depois de colar você poderia simplesmente classificar sua coluna de forma que a linhas em branco fique abaixo de tudo.

como faço a classificação?

 
Postado : 11/02/2016 8:21 am
(@nmareis)
Posts: 22
Eminent Member
Topic starter
 

Boas pessoal...anexo aqui um ficheiro onde tem duas folhas...M.d.M e OT...pretendo copiar a informação da folha M.d.M ( coluna a amarelo ) para a folha OT ( celulas a vermelho )...se verificarem existem espaços em branco entre células e eu pretendo que a macro apenas copie as células com informação e ignore as células em branco...ou seja...no destino a listagem fica seguida...sem espaços...se me puderem ajudar agradeço....obrigado

 
Postado : 11/02/2016 4:05 pm
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

Consegui resolver parcialmente o seu problema, mais na hora de copiar da "Origem" para a "Destino" eu só consegui jogar na primeira linha "AN1".
Se tento jogar na "AN26" da erro e ainda estou tentando solucionar. Se alguém mais puder ajudar.

Segue anexo...

att,

Francisco

 
Postado : 11/02/2016 4:09 pm
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

Olá amigo...
Testa esse código.

Sub Copy_Clear()

Dim rLocal As Range

Worksheets("M.d.M").Range("AZ1:AZ2000").Copy
Worksheets("OT").Range("AN26:AN56").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

'----------------------------------------------------------------------------------------------------

''Atribuição das variáveis (Esse código você escolhe qual célula ou coluna deseja limar)
'Set rLocal = Application.InputBox(Prompt:="Selecione as células que deseja limpar...", Type:=8)

'rLocal.Replace What:=" ", Replacement:=""
'End Sub

'----------------------------------------------------------------------------------------------------

'Atribuição das variáveis (Esse código já está definindo qual coluna)
Set rLocal = Plan2.Range("AN26:AN56")

rLocal.Replace What:=" ", replacement:=""

Worksheets("OT").Select

End Sub

 
Postado : 11/02/2016 4:41 pm
(@nmareis)
Posts: 22
Eminent Member
Topic starter
 

dá-me erro em :

Set rLocal = Plan2.Range("AN26:AN56")

e deixa células em branco entre os textos...

 
Postado : 11/02/2016 4:53 pm
(@mprudencio)
Posts: 2749
Famed Member
 

São os valores das celulas em amarelo D1 por exemplo, e colar na coluna em vermelho

Ou é o valor de D2 ja que D1 seria um titulo???

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"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.

 
Postado : 11/02/2016 5:01 pm
(@nmareis)
Posts: 22
Eminent Member
Topic starter
 

sim os valores da coluna amarela nas células vermelhas..mas por ordem...sem espaços em branco...

 
Postado : 11/02/2016 5:04 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Criar dois topicos com o mesmo assunto é desnecessario nao vai fazer seu topico ser respondido mais rapido.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"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.

 
Postado : 11/02/2016 5:35 pm
(@nmareis)
Posts: 22
Eminent Member
Topic starter
 

eu sei mas foi para anexar o ficheiro para ver se me conseguem ajudar com mais facilidade...desculpe.

 
Postado : 11/02/2016 5:38 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Algum moderador junta os dois topicos

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"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.

 
Postado : 11/02/2016 5:41 pm
Página 1 / 2