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 thisworkbook. Mostrar todas as postagens
Mostrando postagens com marcador thisworkbook. Mostrar todas as postagens

SANDWICH PROJECT 2016 - VBA Excel - Copy a Master Worksheet

SANDWICH PROJECT 2016 - VBA Excel - Copy a Master Worksheet



Sabe quando cria uma planilha mestra e gostaria de copiá-la rapidamente como um modelo para uma nova planilha?

Este código funciona muito bem com um calendário, planilhas de dataentry (entrada de dados) mensais, e outras aplicações onde tem planilhas com praticamente o mesmo layout.

Estou supondo que a planilha que deseja copiar seja chamada de Master, e que esteja oculta quando executar a macro. 

Abra sua pasta de trabalho. Pressione Alt + F11 para visualizar o Editor do VBA. Clique duas vezes em ThisWorkbook. E cole o seguinte código na janela de código:

Dim NewPageName As String
Sub NewPage()
       Let Sheets("Master").Visible = True
       Sheets("Master").Copy After:=Worksheets(Worksheets.Count)
       Let NewPageName = InputBox("What would you like to call your new Worksheet")
       Let ActiveWindow.ActiveSheet.Name = NewPageName
       Let Sheets("Master").Visible = False
End Sub








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

VBA Excel - 03.10 - Referenciando planilha - Collection - Referenciando a coleção do Workbook



É sempre bom saber que:

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

worksheets = Planilhas individuais, contidas nas abas.


3 - Collection - Referenciando Workbooks na coleção

As coleções de Workbooks contém todos os objetos Workbooks que estão abertos. 

Para instanciá-lo, a seguinte SUB populará um listbox num formulário do usuário com os nomes de todos os workbooks abertos:

Private Sub UserForm_Activate()
  'Popula o listbox com os nomes dos workbooks abertos.

  Dim wb As Workbook
  
  For Each wb In Workbooks
    ListBox1.AddItem wb.Name
  Next wb

 End Sub

O FORM resultante é mostrado na Figura abaixo. perceba a listagem de todos os workbooks abertos. Ao utilizar a referência à coleção Workbooks, poderá referenciá-los sem "hard-coding", simplesmente o nome do workbook.


Para listar todos os workbooks abertos é uma tarefa fácil; agradeça isso a existência da Workbooks collection. Todavia abrir todos os workbooks numa pasta específica é uma tarefa dura, mas você poderá se beneficiar desta SUB:

Sub OpenAllwb()
  'Abre todos os workbooks numa pasta específica.

  Dim i As Integer

  With Application.FileSearch
  
    Let .LookIn = "C:\A&A"
    Let .FileType = msoFileTypeExcelWorkbooks
       ' Se houver workbooks.

      If .Execute > 0 Then
        For i = 1 To .FoundFiles.Count
          Workbooks.Open (.FoundFiles(i))
        Next i
  
      ' Caso não hajam workbooks       Else
        MsgBox "Não existem workbooks para acessar.", vbOKOnly
      End If
  End With
End Sub

Esta tarefa mostra o que pode ser feito com a coleção Workbooks. Neste caso o código não circula através da coleção Workbooks; antes tenta tirar vantagem de um dos métodos da coleção (collection) — especificamente, o método Open (abrir). 

Fechar todos os workbooks abertos é tão fácil como foi abrí-los, aplique a SUB abaixo:

Sub CloseAllWB()
  'Fecha todos workbooks abertos.
  Workbooks.Close
End Sub

Para visualizar mais métodos e propriedades de collection, pressionando F2 no VBE e naveguendo no Object Browser.


Tags: VBA, Excel, Series, reference, referenciando, workbook, worksheet, thisworkbook, collection, hard-coding

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine