Notifications
Clear all

Menu Suspenso para Navegar entre as Abas da Planilha

6 Posts
3 Usuários
0 Reactions
2,157 Visualizações
(@maruchoa)
Posts: 0
New Member
Topic starter
 

Olá colegas, tenho um problema para ser resolvido!

Preciso clicar em uma imagem e ela abrir uma ComboBox.
Ao abrir a ComboBox, ela deverá conter um Menu DropDown contendo a lista de Abas da minha Planilha.
Eu até tenho esse código abaixo utilizando uma Caixa combinada (controle ActiveX) que está realizando essa função.
O problema é que esse código lista todas as ABAS existentes na minha Planilha e eu queria que aparecesse na lista da Caixa Combinada somente as Abas que eu quiser que apareça, entenderam. ESSA É A QUESTÃO!

CÓDIGO VBA PARA NAVEGAR ENTRE AS PLANILHAS:

Private Sub ComboBox1_Change()
'Updateby Extendoffice
    If ComboBox1.ListIndex > -1 Then Sheets(ComboBox1.Text).Select
End Sub
Private Sub ComboBox1_DropButtonClick()
    Dim xSheet As Worksheet
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    If ComboBox1.ListCount <> ThisWorkbook.Sheets.Count Then
        ComboBox1.Clear
        For Each xSheet In ThisWorkbook.Sheets
            ComboBox1.AddItem xSheet.Name
        Next xSheet
    End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
Private Sub ComboBox1_GotFocus()
    If ComboBox1.ListCount <> 0 Then ComboBox1.DropDown
End Sub

Será que somente fazendo alguma alteração neste código eu poderei então selecionar as ABAS que apareceram na minha lista da Caixa de Combinação?

Desde já agradeço a ajuda de todos!

 
Postado : 13/09/2018 6:09 am
(@xlarruda)
Posts: 0
New Member
 

Veja se é isso:

Option Explicit: Option Compare Text
Private Sub ComboBox1_Change()
'Updateby Extendoffice
If ComboBox1.ListIndex > -1 Then Sheets(ComboBox1.Text).Select
End Sub
Private Sub ComboBox1_DropButtonClick()
Dim exclusao_1, exclusao_2 As String
exclusao_1 = "Fev"
exclusao_2 = "Mar"
Dim xSheet As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
If ComboBox1.ListCount <> ThisWorkbook.Sheets.Count Then
ComboBox1.Clear
For Each xSheet In ThisWorkbook.Sheets
If xSheet.Name <> exclusao_1 And xSheet.Name <> exclusao_2 Then
ComboBox1.AddItem xSheet.Name
End If
Next xSheet
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Private Sub ComboBox1_GotFocus()
If ComboBox1.ListCount <> 0 Then ComboBox1.DropDown
End Sub
 
Postado : 13/09/2018 7:47 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

maruchoa,

Bom dia!

Solicitamos, por gentileza, a postar código VBA, utilizar a ferramenta CODE existente logo acima da caixa de mensagens (quinto botão da esquerda para a direita).

 
Postado : 13/09/2018 8:50 am
(@maruchoa)
Posts: 0
New Member
Topic starter
 

Obrigado xlarruda,

Funcionou sim...Perfeito!

 
Postado : 13/09/2018 9:20 am
(@maruchoa)
Posts: 0
New Member
Topic starter
 

Desculpa, eu não sabia, ok

 
Postado : 13/09/2018 9:20 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Tranquilo amigo! Sem problemas.

Aproveitando o ensejo, pedimos também para não utilizar citações de inteiro teor das mensagens que lhe são enviadas. Elas são desnecessárias. As citações, quando estritamente necessárias ao entendimento da mensagem que você quer enviar, devem restringir-se apenas a pequenos trechos das mensagens.

 
Postado : 13/09/2018 1:55 pm