Página 1 de 1

Contar abas visiveis

Enviado: 22 Jan 2020 às 22:31
por AlanBC
ola pessoal...
alguem pode me ajudar nessa macro???
tenho uma planilha com varias abas... algumas visiveis e outras ocultas, mas plan1 sempre estará visivel (xlSheetVisible) ;
preciso de uma macro que identifique e conte as abas visiveis (xlSheetVisible) do workbook e
se tiver 1 aba visivel(nesse caso, sera sempre a Plan1) sai dessa macro; mas
se tiver 2 ou mais abas visiveis (Plan1 e mais outras) segue e executa o procedimento dessa macro.
vai rodar no evento activate da Plan1.

muito obrigado
abraço a todos

Re: Contar abas visiveis

Enviado: 23 Jan 2020 às 08:45
por osvaldomp
Experimente:
Código: Selecionar todos
Dim ws As Worksheet, k As Long
  For Each ws In ThisWorkbook.Worksheets
   If ws.Visible = True Then k = k + 1: If k = 2 Then Exit For
  Next ws
   If k = 1 Then Exit Sub
  'demais comandos da sua macro

Re: Contar abas visiveis

Enviado: 23 Jan 2020 às 09:03
por babdallas
Código: Selecionar todos
Public Function ContPlanVisiveis() As Long
    Dim wshPlan     As Worksheet
    Dim lngCont     As Long
    
    'Loop por todas as planilhas, verifica se cada planilha está visível. Se sim, faz a contagem.
    For Each wshPlan In ThisWorkbook.Worksheets
        If wshPlan.Visible Then lngCont = lngCont + 1
    Next wshPlan
    
    'Atribui à função o número de planilhas visíveis
    ContPlanVisiveis = lngCont
End Function

Public Sub Principal()
    
    If ContPlanVisiveis > 1 Then
        'Outras linhas de código
    End If
End Sub

Re: Contar abas visiveis

Enviado: 23 Jan 2020 às 19:19
por AlanBC
pessoal...
vlw msm!
as duas solucoes funcionaram da maneira que precisava.
muito obrigado!!!
forte abraço.