Colar células não v...
 
Notifications
Clear all

Colar células não vazias em sequência

3 Posts
2 Usuários
0 Reactions
871 Visualizações
(@jorgep-tec)
Posts: 37
Eminent Member
Topic starter
 

Boa tarde,

Estou usando essa macro para copiar e colar mas preciso incrementá-la

É possível colocar nessa macro um critério de colar só as células não vazias na sequencia?

Sub stepone()

rang = "A2:L" & Range("M2").Value2

Sheets("Transfer").Range(rang).Value = Range(rang).Value

Call steptwo

End Sub

ex: a2=2 b2=3 c2= (vazio) d2=10 e2=9

Preciso que na planilha que for colado fique assim

a2=2 b2=3 c2=10 d2=9

É possível?

Desde já, obrigado!

 
Postado : 12/12/2014 3:21 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Talvez tenha uma forma mais simples, mas eu faria assim:

Option Explicit

Sub stepone()

Const O         As Long = 1 'Origem
Const D         As Long = 2 'Destino

Dim ws(O To D)  As Worksheet
Dim PL          As Long 'Primeira Linha
Dim UL          As Long 'Última Linha
Dim PC          As Long 'Primeira Coluna
Dim UC          As Long 'Última Coluna
Dim i(O To D)   As Long 'linhas
Dim j(O To D)   As Long 'colunas

Set ws(O) = Sheets("Sheet1")
Set ws(D) = Sheets("Transfer")

PL = 2
UL = ws(O).Range("M2").Value2
PC = 1 'A
UC = 12 'L

i(D) = PL
j(D) = PC

For i(O) = PL To UL
    For j(O) = PC To UC
        If Not IsEmpty(ws(O).Cells(i(O), j(O))) Then
            ws(D).Cells(i(D), j(D)).Value2 = _
            ws(O).Cells(i(O), j(O)).Value2
            If j(D) = UC Then
                j(D) = PC
                i(D) = i(D) + 1
            Else
                j(D) = j(D) + 1
            End If
        End If
    Next j(O)
Next i(O)

Call steptwo

End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 12/12/2014 6:09 pm
(@jorgep-tec)
Posts: 37
Eminent Member
Topic starter
 

Muito obrigado pela ajuda!!! :D

 
Postado : 17/12/2014 1:56 pm