Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
  • Avatar do usuário
#36677
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!
#36682
Sim, é possível desde você saiba quais planilhas você deseja acrescentar ou quais você não deseja acrescentar (ou seja, acrescentando as demais). Sugiro anexar um exemplo e dizendo qual a regra listar as planilhas que você deseja.
#36683
Código: Selecionar todos
Private Sub ComboBox1_DropButtonClick()
Dim xSheet As Worksheet
Dim planilhasVisiveis As Variant

Dim plan As Variant 'ExcelFlex: inclusão de um array com as planilhas que você quer que apareça no combo
  planilhasVisiveis = Array("Planilha1", "Planilha2", "Planilha3", "Planilha4")

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
      For Each plan In planilhasVisiveis
        If plan = xSheet.Name Then 'ExcelFlex: verifica se a planilha existe no combo e adiciona
          ComboBox1.AddItem xSheet.Name
        End If
      Next plan
    Next xSheet
  End If
  Application.EnableEvents = True
  Application.ScreenUpdating = True
End Sub
Veja se esta solução te ajuda
#36684
ExcelFlex escreveu:
Código: Selecionar todos
Private Sub ComboBox1_DropButtonClick()
Dim xSheet As Worksheet
Dim planilhasVisiveis As Variant

Dim plan As Variant 'ExcelFlex: inclusão de um array com as planilhas que você quer que apareça no combo
  planilhasVisiveis = Array("Planilha1", "Planilha2", "Planilha3", "Planilha4")

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
      For Each plan In planilhasVisiveis
        If plan = xSheet.Name Then 'ExcelFlex: verifica se a planilha existe no combo e adiciona
          ComboBox1.AddItem xSheet.Name
        End If
      Next plan
    Next xSheet
  End If
  Application.EnableEvents = True
  Application.ScreenUpdating = True
End Sub
Veja se esta solução te ajuda
Poxa... Perfeito!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord