• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Luxo

Copiar sheet

8 mensagens neste tópico

Boas

Alguém me sabe dizer uma macro que me copie um Folha para outro ficheiro?

Por exemplo eu tenho um ficheiro A e queria copiar a folha2 para um ficheiro b?

Será que alguém é capaz de me dizer o programa?

Agradeço respostas se possível.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pode estar ou nao!conforme onde eu coloque essa função no programa. Pk eu ja tenho um programa que me cria um novo ficheiro e dps mando guardar e abrir. se eu colocar antes do guardar e do abrir esta fechado se posser depois ja esta. da para dizeres as 2 maneiras?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É semelhante, a diferença é que tens de verficar se o workbook está aberto ou não.

Por exemplo, se já estiver aberto é só:

Dim total As Integer
total = Workbooks("Book2").Worksheets.Count
Sheet1.Move After:=Workbooks("Book2.xls").Sheets(total)

Mas é sempre melhor verificar primeiro:

' Verifica se o workbook está aberto
Function IsOpen(wrkName As String) As Boolean
Dim wrk As Workbook

    IsOpen = False

    For Each wrk In Application.Workbooks
        If wrk.Name = wrkName Then
            IsOpen = True
            Exit For
        End If
    Next wrk

End Function


Sub CopyWorkbook()

    ' Verifica se o workbook está aberto
    If Not IsOpen("Book2.xls") Then
        Dim currentWkb As Workbook
        Set currentWkb = ActiveWorkbook
        Application.Workbooks.Open "C:\Book2.xls"
        currentWkb.Activate
    End If
    
    ' Copia o workbook
    Dim total As Integer
    total = Workbooks("Book2.xls").Worksheets.Count
    Sheet4.Copy After:=Workbooks("Book2.xls").Sheets(total)

End Sub

End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok obrigada vou estar

só uma cena se eu tiver dado um nome a folha por exemplo se tenho o nome "exemplo"  onde tens Sheet2 tenho de colocar sheets("exemplo") certo? isto para o prog de verificação se esta aberto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok obrigada vou estar

só uma cena se eu tiver dado um nome a folha por exemplo se tenho o nome "exemplo"  onde tens Sheet2 tenho de colocar sheets("exemplo") certo? isto para o prog de verificação se esta aberto

Sim correcto. E muda também Sheet4 para o nome da folha que queres.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde....Estou tentando utilizar este codigo mas nao estou conseguindo.

Eu tenho um documento com o nome "Emprestimo.xls" com uma planilha de nome "PlanX"

Tenho também um documento por nome "FormatarRisco.xls" com a planilha de nome "Plan1". Estou tentando inserir um codigo no documento FormatarRisco.xls que copie a PlanX do documento "Emprestimo.xls".

Porem, com este codigo somente o que consigo é copiar a Plan1 para o documento "Emprestimo.xls".

Como deveria ficar o meu codigo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que isso é um bocado dificil de fazer copiar um folha que está noutro documento.

Para isso tinhas que ter dois documentos abertos ao mesmo tempo e depois um ir buscar o que queres ao outro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora