Ir ao conteúdo
  • Cadastre-se

Listar todas planilhas abertas - VBA Excel


Posts recomendados

Veja esse exemplo, de rotina + funcao que verifica se a Pasta_de_trabalho esta aberta ou não.

Tente adaptar a uma rotina que lista as planilhas.

 

Sub Verif_Arquivo_Aberto()
    Dim strFile As Variant
                         
      strFile = IsWorkBookOpen _
         ("C:\temp\Nome_Sua_Planilha.xlsx") '* Altere diretorio/nome do arq.

    If strFile = True Then
        MsgBox "Arquivo esta Aberto"
    Else
        MsgBox "Arquivo esta Fechado"
    End If
End Sub

Function IsWorkBookOpen(FileName As String)
    Dim ff As Long, ErrNo As Long

    On Error Resume Next
    ff = FreeFile()
    Open FileName For Input Lock Read As #ff
    Close ff
    ErrNo = Err
    On Error GoTo 0

    Select Case ErrNo
    Case 0:    IsWorkBookOpen = False
    Case 70:   IsWorkBookOpen = True
    Case Else: Error ErrNo
    End Select
End Function

  

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Obrigado pelo retorno!

Mas este código retorna somente caso eu tenha o nome da planilha, ou seja, um nome fixo. Eu precisava listar todas as planilhas abertas, independente do nome.

Felizmente consegui resolver este problema usando a Sub abaixo. Era mais simples do que parecia.

 

Sub ListarPlanilhasAbertas()

 

    Dim wb As Workbook
    Dim row, collumn As Integer

 

row = 1
collumn = 1

 

    For Each wb In Application.Workbooks
          
          Cells(row, collumn).Value = wb.Name
          row = row + 1
          
    Next wb

 

End Sub

 

Obrigado novamente!

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...