Jump to content
Sign in to follow this  
Luxo

Copiar sheet

Recommended Posts

Luxo

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.

Share this post


Link to post
Share on other sites
Luxo

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?

Share this post


Link to post
Share on other sites
jpaulino

É 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

Share this post


Link to post
Share on other sites
Luxo

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

Share this post


Link to post
Share on other sites
jpaulino

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.

Share this post


Link to post
Share on other sites
rdv

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?

Share this post


Link to post
Share on other sites
vbtipo

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.


Lema: Se eu não saber de alguma coisa não se preocupem porque tento sempre ajudar alguma coisita, nem que seja, por palpites/sugestões.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.