Notifications
Clear all

Copiar dados de outra planilha para uma só

11 Posts
2 Usuários
0 Reactions
3,361 Visualizações
(@maxgomes)
Posts: 16
Eminent Member
Topic starter
 

Boa noite pessoal!
Eu estou com um problema aqui. Eu trabalho em uma escola e eu preciso fazer uma planilha com o controle de agendamento do laboratorio de informatica
Nesta planilha, eu quero tirar relatorios por mes e por bimestre.
Eu tenho as planilhas de Fevereiro à Dezembro e outra chamada Relatorio.
Com relacao ao relatorio por mes, nao ha problemas, é só imprimir normalmente.
O problema esta nos bimestres.
Ex.: O primeiro bimestre comeca 30/1 e termina 12/04
Sera que teria como eu copiar os dados automaticamente das planilhas de Janeiro, Fevereiro, Marco e até o dia 12/abril para a planilha relatorio?

Agradeco desde ja! :D

 
Postado : 13/02/2012 7:32 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!!

Seja bem vindo!!! :P

Poste seu modelo.

 
Postado : 13/02/2012 7:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite Max

Podemos tentar fazer o que vc deseja, mas para facilitar anexe um exemplo comptactado da tua planilha demonstrando como vc quer o resultado.

Um abraço.

 
Postado : 13/02/2012 7:36 pm
(@maxgomes)
Posts: 16
Eminent Member
Topic starter
 

Quero manter os dados la nas planilhas e na planilha de abril, pegar somente ate o dia 12.
Uma coisa que esqueci: nas planilhas, as datas podem repetir.

 
Postado : 13/02/2012 7:58 pm
(@maxgomes)
Posts: 16
Eminent Member
Topic starter
 

Seria algo como: Select * from Fevereiro, Marco, Abril Where data >30/01 e < 12/04, grosseiramente falando

 
Postado : 13/02/2012 8:09 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!!

Veja se te juda..

Sub CopyData()
Dim shREPORT As Worksheet
Dim shSOURCE As Worksheet
Dim strNAME(2) As String
Dim i As Long
Dim r As Long
Dim n As Long
Dim b As Byte
Const dDate As Date = "12 April 2012"
strNAME(0) = "Fevereiro"
strNAME(1) = "Março"
strNAME(2) = "Abril"
Set shREPORT = ThisWorkbook.Worksheets("Relatório")
r = 11
For b = 0 To 2
    Set shSOURCE = ThisWorkbook.Worksheets(strNAME(b))
    With shSOURCE
        n = .Cells.SpecialCells(xlCellTypeLastCell).Row
        For i = 2 To n
            If b = 2 And IsDate(.Cells(i, 2)) Then
                If CDate(.Cells(i, 2)) <= dDate And .Cells(i, 2) <> "" Then
                    .Rows(i).Copy Destination:=shREPORT.Rows(r)
                    r = r + 1
                End If
            ElseIf .Cells(i, 1) <> "" Then
                .Rows(i).Copy Destination:=shREPORT.Rows(r)
                r = r + 1
            End If
            
        Next
    End With
Next
End Sub
 
Postado : 14/02/2012 11:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Max

Sempre poste a planilha com alguns dados ficticios preenchidos para facilitar os testes e a própria interpretação.

Abraço.

 
Postado : 14/02/2012 11:29 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

bo tarde!!!

Faça teste com esse anexo, e depois retorne ao fórum pra dizer se deu certo.

Caso a ajuda foi útil, click na mãozinha e marque o tópico como resolvido!!

Att++++ ;)

 
Postado : 14/02/2012 11:43 am
(@maxgomes)
Posts: 16
Eminent Member
Topic starter
 

Boa tarde!
alexandrevba, em partes deu certo sim! unica coisa que aconteceu, foi por exemplo: eu inseri uma data acima do dia 12/04 e mesmo assim ele copiou...

 
Postado : 14/02/2012 12:25 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fiz uma pequena alteração no codigo proposto pelo Alexandre,
veja se lhe atende

 
Postado : 14/02/2012 2:08 pm
(@maxgomes)
Posts: 16
Eminent Member
Topic starter
 

Valeeu! deu certinho com oque eu preciso! Muito obrigado pela ajuda Reinaldo e alexandrevba.

 
Postado : 14/02/2012 4:30 pm