Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

Mostrando postagens com marcador workbook. Mostrar todas as postagens
Mostrando postagens com marcador workbook. Mostrar todas as postagens

Copiando uma Aba para outra Planilha - Copy from one workbook and paste into another



Imagine que tenha diversas planilhas, arquivos texto e acesso a algumas views e queries cujos conteúdos precisem regularmente ser usados em um único Dashboard, Book, ou Relatório onde todas as informações são reunidas e apresentadas.

Essa situação lhe parece familiar?

Agora imagine que dentre estes, 15 ou 20 sejam planilhas distintas, das quais precise abrir, copiar e colar os conteúdos, trazendo tudo para uma única planilha, que precisará ser formatada e distribuida.

E se pudesse apenas abrir e copiar as abas que importam, em todas as 20 planilhas, exportando-as para uma única planilha?

Pois bem, isso é possível e acessível. Segue:

Function ExportSheetOutWorkBook(PathName As String, FileName As String, TabTarget As String, TabSource As String)
    ' THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
    ' LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
    ' Feel free to use the code as you wish but kindly keep this header section intact.
    ' Copyright© A&A - In Any Place®, all Rights Reserved.
    '      Author: André Bernardes
    '     Contact: andreluizbernardess@gmail.com | https://goo.gl/EUMbSe/
    ' Description: Exporta a Sheet informada para uma planilha externa.

    Dim ControlFile As String

    'Call SetMess(True, "Início da movimentação da aba " & TabSource)

    Let ControlFile = ActiveWorkbook.Name

    ' Abre o nome do arquivo.
    Workbooks.Open FileName:=PathName & FileName

    Call SetMess(True, "Início da movimentação da aba (" & TabSource & ") para planilha externa (" & PathName & FileName & ").")

    ' Vai para a aba Source.
    Windows(ControlFile).Activate
    Sheets(TabSource).Select

    ' Copia os dados.
    Sheets(TabSource).Copy After:=Workbooks(FileName).Sheets(1)

    'Call SetMess(True, "Colando dados na planilha externa (" & TabTarget & ") da planilha atual.")

    ' Ative a planilha Target.
    Windows(FileName).Activate

    ActiveWorkbook.Close SaveChanges:=True

    Call SetMess(True, "Salvando na planilha.")

    Windows(ControlFile).Activate
    
    Sheets("Automation").Select

    'Call SetMess(True, "Término da movimentação da aba " & TabTarget)

End Function

Copiar uma planilha específica na pasta ativa

Sub Copier1()
    'Replace "Sheet1" with the name of the sheet to be copied.
    ActiveWorkbook.Sheets("Sheet1").Copy _
       after:=ActiveWorkbook.Sheets("Sheet1")
End Sub

Copiar uma planilha específica na pasta ativa várias vezes

Sub Copier2()
    Dim x As Integer
    
    x = InputBox("Enter number of times to copy Sheet1")
    For numtimes = 1 To x
        'Loop by using x as the index number to make x number copies.
        'Replace "Sheet1" with the name of the sheet to be copied.
        ActiveWorkbook.Sheets("Sheet1").Copy _
           After:=ActiveWorkbook.Sheets("Sheet1")
    Next
End Sub

Copia a Planilha ativa várias vezes

Sub Copier3()
   Dim x As Integer
   
   x = InputBox("Enter number of times to copy active sheet")
   For numtimes = 1 To x
      'Loop by using x as the index number to make x number copies.
      ActiveWorkbook.ActiveSheet.Copy _
         Before:=ActiveWorkbook.Sheets("Sheet1")
         'Put copies in front of Sheet1.
         'Replace "Sheet1" with sheet name that you want.
   Next
End Sub

Copiar todas as planilhas em uma pasta de trabalho uma vez

Sub Copier4()
   Dim x As Integer

   For x = 1 To ActiveWorkbook.Sheets.Count
      'Loop through each of the sheets in the workbook
      'by using x as the sheet index number.
      ActiveWorkbook.Sheets(x).Copy _
         After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
         'Puts all copies after the last existing sheet.
   Next
End Sub

Código de exemplo para mover planilhas

Mover a planilha ativa para uma nova posição na pasta de trabalho

Sub Mover1()
    ActiveSheet.Move _
       After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
       'Moves active sheet to end of active workbook.
End Sub

Mover a planilha ativa para outra pasta de trabalho

Sub Mover2()
    ActiveSheet.Move Before:=Workbooks("Test.xls").Sheets(1)
    'Moves active sheet to beginning of named workbook.
    'Replace Test.xls with the full name of the target workbook you want.
End Sub

Mover Várias Planilhas da Pasta Ativa para Outra Pasta de Trabalho

Sub Mover3()
   Dim BkName As String
   Dim NumSht As Integer
   Dim BegSht As Integer

   'Starts with second sheet - replace with index number of starting sheet.
   BegSht = 2
   'Moves two sheets - replace with number of sheets to move.
   NumSht = 2
   BkName = ActiveWorkbook.Name
    
    For x = 1 To NumSht
      'Moves second sheet in source to front of designated workbook.
      Workbooks(BkName).Sheets(BegSht).Move _
         Before:=Workbooks("Test.xls").Sheets(1)
         'In each loop, the next sheet in line becomes indexed as number 2.
      'Replace Test.xls with the full name of the target workbook you want.
    Next
End Sub



⬛◼◾▪ Social Media ▪◾◼⬛
• FACEBOOK • TWITTER • INSTAGRAM • TUMBLR • GOOGLE+ • LINKEDIN • PINTEREST

⬛◼◾▪ Blogs ▪◾◼⬛ 

⬛◼◾▪ CONTATO ▪

Excel VBA Basic - Fechando a Planilha - Close a Workbook using VBA

Excel VBA Basic - Fechando a Planilha - Close a Workbook using VBA



Simplesmente fechar uma planilha pode resolver um problema e nos livrar de uma dor de cabeça. Que tal programar suas planilhas para serem fechadas 20 ou 30 minutos após estarem abertas sem qualquer edição nela?

Option Explicit 
Sub macro1()
ActiveWorkbook.Close False
End Sub


Também poderá implementar o código abaixo quando for a partir de outro aplicação MS Office:

Dim xlApp As Object
    Set xlApp = GetObject(, "excel.application")
   
    xlApp.Quit

   set XlApp = nothing ' Fecha a aplicação MS Excel.

Let Application.DisplayAlerts = FalseLet Activeworkbook.close ([VBYes])Let Application.DisplayAlerts = True

' Fecha o Workbook e salva as mudanças efetuadas.


Deixe seus comentários, compartilhe este artigo!


⬛◼◾▪ Social Media ▪◾◼⬛
• FACEBOOK • TWITTER • INSTAGRAM  • TUMBLR   GOOGLE+   LINKEDIN   PINTEREST

⬛◼◾▪ Blogs ▪◾◼⬛ 

⬛◼◾▪ CONTATO ▪

Truques VBA Raramente Usados - Protect Workbook

Truques VBA Raramente Usados - Protect Workbook




Em muitas ocasiões desejaremos manter nossas planilhas protegidas após inserções, atualizações ou mesmo troca de versão. O que segue abaixo é o modo de mantê-las protegidas entre estes momentos.

Sub PWorkbook()
Dim pwd1 As String, ShtName As String
pwd1 = InputBox("Please Enter the password")
If pwd1 = "" Then Exit Sub
ShtName = "Workbook as a whole"
ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:=pwd1
MsgBox "The workbook's structure has been protected."
Exit Sub
ErrorOccured:
MsgBox "Workbook could not be Protected"
Exit Sub
End Sub
On Error GoTo ErrorOccured

Sub UnPWorkbook()
On Error GoTo ErrorOccured
Dim pwd1 As String, ShtName As String
pwd1 = InputBox("Please Enter the password")
If pwd1 = "" Then Exit Sub
ShtName = "Workbook as a whole"
ActiveWorkbook.Unprotect Password:=pwd1
MsgBox "The workbook's structure has been Unprotected."
Exit Sub
ErrorOccured:
MsgBox "Workbook could not be UnProtected - Password Incorrect"
Exit Sub     
End Sub



brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

VBA Outlook - Criando uma planilha a partir do Outlook - Create Excel Workbook From Outlook

Este é um exemplo simples que gera uma pasta de trabalho do MS Excel em branco a partir do MS Outlook. Não precisa definir a propriedade Visible como True na pasta de trabalho se você quiser escrever qualquer coisa nele. Neste ponto, pode usar todas as técnicas de VBA do MS Excel na pasta de trabalho.

Sub CreateXLWorkbook()
Dim xlApp As Object ' Excel.Application
Dim xlWkb As Object ' Excel.Workbook
Set xlApp = CreateObject ("Excel.Application") ' New Excel.Application
Set xlWkb = xlApp.Workbooks.Add
Let xlApp.Visible = True
Set xlApp = Nothing
Set xlWkb = Nothing
End Sub


Tags: VBA, Outlook, Create, Excel, Workbook, 

VBA Excel - 00.10 - Referenciando-se as planilhas - Workbooks



Modos de referenciar-se a um Worbook:


Tags: VBA, Excel, Series, reference, referenciando, workbook, worksheet

VBA Excel - 01.10 - Referenciando planilha - Active - Workbook ativo



Vamos relembrar um artigo antigo, agora revisado. Veremos 10 formas para referenciar workbooks e worksheets usando o VBA no MS Excel.

workbooks = Arquivo que contém todas as planilha em diversas pastas.

worksheets = Planilhas individuais, contidas nas abas.

1 - Active - Referenciando o workbook ativo

A propriedade do ActiveWorkbook faz referência ao workbook que tem o foco. 

Digamos que após atualizar a informação num workbook ativo, provavelmente deseje salvá-lo, esta é uma tarefa simples para a propriedade do ActiveWorkbook. A SUB a seguir utilizará a propriedade ActiveWorkbook  para fechar o workbook ativo:

Sub CloseActiveWBSemSalvar()
  ' Fecha o workbook ativo sem salvar.

  ActiveWorkbook.Close False
End Sub

Sub CloseActiveWBSalvando()
  'Fecha o workbook ativo e o salva.

  ActiveWorkbook.Close True
End Sub

Sub CloseActiveWBEscolheSeSalva()
  'Fecha o workbook ativo escolhendo se deseja salvar.
  'Deixa o usuário decidir se deseja salvar ou não.

  ActiveWorkbook.Close
End Sub

Sim, o exemplo foi apenas elucidativo, pode-se facilmente combinar estes três estado em uma única função passando o modo como a ação será executada através de parâmetros.

Abaixo segue outro exemplo onde o nome, o caminho são atribuidos:

Function GetActiveWBPathName() As String

  Let GetActiveWBPathName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name

End Function


Tags: VBA, Excel, Series, reference, referenciando, workbook, worksheet, active workbook, active

VBA Excel - 02.10 - Referenciando planilha - Currently - Workbook executando o código




É sempre bom saber que:

workbooks = Arquivo que contém todas as planilha em diversas pastas.

worksheets = Planilhas individuais, contidas nas abas.

2 - Currently - Workbook executando o código

A propriedade para o ThisWorkbook é similar a propriedade ActiveWorkbook, mas...
ActiveWorkbook avaliará o workbook com foco, ThisWorkbook se referirá ao workbook que estiver rodando no momento.

Esforce-se para distinguir estes dois momentos. Sim este aparente pormenor acrescenta grande flexibilidade uma vez que o workbook ativo nem sempre é o workbook que está rodando o código.

Function GetThisWB() As String

              Let GetThisWB = ThisWorkbook.Path & "\" & ThisWorkbook.Name

End Function

Figura abaixo mostra o resultado da execução do procedimento:



Tags: VBA, Excel, Series, reference, referenciando, workbook, worksheet, thisworkbook, currently

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine