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

VBA Excel - Referenciando planilha 03 de 10 - Referenciando workbooks na coleção (collection) Workbooks

3: Referenciando workbooks na coleção (collection) Workbooks

As coleções Workbooks contém todos os objetos Workbook abertos. Usando a propriedade Workbooks, você pode referenciar-se a quaisquer workbooks 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 C, lista todos os workbooks abertos. Ao utilizar a referência a coleção Workbooks, você pode referenciar todos os workbooks abertos sem "hard-coding", simplesmente o nome do workbook.

Figura C

Listing all the open workbooks is an easy enough task, thanks to the Workbooks collection. However, opening all of the workbooks in a specified folder is a bit harder, as you can see in the following subprocedure:

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; tenta tirar vantagem de um dos métodos da coleção (colection) — especificamente, o método Open (abrir).

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

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

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


André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com


eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine