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.

Nenhum comentário:

Postar um comentário

diHITT - Notícias