Notifications
Clear all

Selecionar Abas pelo Nome

5 Posts
2 Usuários
0 Reactions
1,067 Visualizações
(@eliezer7)
Posts: 15
Active Member
Topic starter
 

Tenho uma planilha com várias abas e gostaria de selecioná-las conforme seu nome. Por exemplo:

No inicio do nome das abas elas possuem a siglas (A), (B) e (C) e quero criar 2 botões, quando clicar no botão 1 ele irá verificar todas as abas e selecionar somente as que possuem as siglas (A) e (C) e quando clicar no botão 2 irá selecionar as abas que iniciam com os nomes (B) e (C).

Por exemplo:
(A)ABA1
(B)ABA1
(A)ABA2
(B)ABA2
(C)ABA3
(A)ABA4
(B)ABA4

Ao clicar no botão 1, ele irá selecionar as abas:
(A)ABA1
(A)ABA2
(C)ABA3
(A)ABA4

Alguém sabe como fazer isso por meio de VBA?
Obs.: não quero selecionar pelo nome quero que o código vasculhe todas as abas em busca da sigla, pois, a todo instante a planilha terá inclusão e exclusão de abas.

 
Postado : 18/05/2016 6:01 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Você quer que as abas sejam selecionadas todas de uma vez, ou que se oculte as que não estão na relação ?

É para executar alguma outra ação após seleciona-las ? Tipo "deleta-las" ou renomea-las ?

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/05/2016 7:21 am
(@eliezer7)
Posts: 15
Active Member
Topic starter
 

Você quer que as abas sejam selecionadas todas de uma vez, ou que se oculte as que não estão na relação ?

É para executar alguma outra ação após seleciona-las ? Tipo "deleta-las" ou renomea-las ?

[]s

Quero selecionar e após executar a impressão (Ctrl+P).

 
Postado : 18/05/2016 7:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Tente algo como..........Para cada botão mude o nome da sigla

Sub AlgoComoIsso()
Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name Like "(A)*" Then
            ws.Select
            Exit For
        End If
    Next ws
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/05/2016 8:54 am
(@eliezer7)
Posts: 15
Active Member
Topic starter
 

Allexandre

Isso mesmo, obrigado.
Adaptei um pouco e ficou assim.

Sub SelecionarAbas()
Dim abas() As String 

For Each ws In ThisWorkbook.Sheets
 If Left(ws.Name, 3) = "(D)" Or Left(ws.Name, 3) = "(G)" Then
  ReDim Preserve abas(n)
  abas(n) = ws.Name
  n = n + 1
  End If
Next

Sheets(abas()).Select
Application.Dialogs(xlDialogPrintPreview).Show
End Sub
 
Postado : 18/05/2016 9:59 am