Importação de um sh...
 
Notifications
Clear all

Importação de um sheet para outro

3 Posts
1 Usuários
0 Reactions
1,147 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Tenho uma planilha que importo e reorganizo as informações da plan5 para plan8, devido ao relatório do sistema muito ruim, só que quando pesso para reorganizar "bt Atualizar" na plan5 a macro esta sobrepondo a importação anterior, pois gostaria que quando reorganiza-se "bt Atualizar", ela buscaria a ultima linha vazia.

Sub DADOS()
Dim ws As Worksheet
Dim elin As Long
Dim slin As Long
Dim endlin As Long
Dim linha
linha = 1

While (Plan8.Cells(linha, 5) <> "")
linha = linha + 1
Wend

elin = 5
slin = 11

Set ws = Sheets("Dados")
endlin = ws.Range("A1048576").End(xlUp).Row
Do While slin <= endlin

If IsNumeric(ws.Cells(slin, 1)) Then
Cells(elin, 6) = ws.Cells(slin, 1)
Cells(elin, 8) = ws.Cells(slin, 2)
Cells(elin, 9) = ws.Cells(slin, 3)
Cells(elin, 10) = ws.Cells(slin, 4)
Cells(elin, 11) = ws.Cells(slin, 5)
Cells(elin, 12) = ws.Cells(slin, 6)
Cells(elin, 13) = ws.Cells(slin, 7)
Cells(elin, 14) = ws.Cells(slin, 8)
Cells(elin, 15) = ws.Cells(6, 2)
If IsNumeric(ws.Cells(slin + 2, 1)) Then
Cells(elin, 7) = ws.Cells(slin + 1, 1)
slin = slin + 2
Else
Cells(elin, 7) = ws.Cells(slin + 1, 1) & " " & ws.Cells(slin + 2, 1)
slin = slin + 3
End If
elin = elin + 1
Else
slin = slin + 1
End If

Loop

End Sub

silva_jmp

 
Postado : 16/09/2011 1:56 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Creio que a alteração abaixo atende o desejado:

Sub DADOS()
Dim ws As Worksheet
Dim eLin As Long
Dim sLin As Long
Dim EndLin As Long
Dim Linha As Long
 
Linha = 4

While (Plan8.Cells(Linha, 5) <> "")
   Linha = Linha + 1
 Wend
 
eLin = Linha
sLin = 110

Set ws = Sheets("Dados")
EndLin = ws.Range("A1048576").End(xlUp).Row
Do While sLin <= EndLin

If IsNumeric(ws.Cells(sLin, 1)) Then
    Cells(eLin, 6) = ws.Cells(sLin, 1)
    Cells(eLin, 8) = ws.Cells(sLin, 2)
    Cells(eLin, 9) = ws.Cells(sLin, 3)
    Cells(eLin, 10) = ws.Cells(sLin, 4)
    Cells(eLin, 11) = ws.Cells(sLin, 5)
    Cells(eLin, 12) = ws.Cells(sLin, 6)
    Cells(eLin, 13) = ws.Cells(sLin, 7)
    Cells(eLin, 14) = ws.Cells(sLin, 8)
    Cells(eLin, 15) = ws.Cells(6, 2)
        If IsNumeric(ws.Cells(sLin + 2, 1)) Then
        Cells(eLin, 7) = ws.Cells(sLin + 1, 1)
        sLin = sLin + 2
        Else
        Cells(eLin, 7) = ws.Cells(sLin + 1, 1) & " " & ws.Cells(sLin + 2, 1)
        sLin = sLin + 3
        End If
eLin = eLin + 1
Else
sLin = sLin + 1
End If

Loop


End Sub
 
Postado : 16/09/2011 2:28 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

OLá silva_jmp

Td bem com vc?

Baixei seu arquivo e achei seu relatorio muito interessante
Poderia me explicar como vc fez o calendário, com relação a sheet menu e nas linhas onde tem as formulas de AC26 até ac67

Valeu

 
Postado : 02/10/2011 9:35 am