caixa de combinação...
 
Notifications
Clear all

caixa de combinação com preenchimento automático

5 Posts
2 Usuários
0 Reactions
930 Visualizações
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

ola, e estou tentando adicionar caixas de combinação que liste algumas abas
o problema é que essas abas são criadas e excluídas durante o uso da planilha ou até tem seu nome modificado

com esse codigo preenche a lista

Sub ComboBox_Input_Filtros()
     With ActiveSheet.Shapes("Drop-Filt").ControlFormat
     .RemoveAllItems
     '        Do While .ListCount > 0: .RemoveItem (1): Loop
          For Each sheetos In Worksheets
               If sheetos.Range("A3").Value2 = "filtro" Then .AddItem sheetos.Name
          Next
     End With
End Sub

e com esse eu seleciono o item
essa macro é vinculada na caixa

Sub ComboBox_GetSelection_Filtro()
     With ActiveSheet.Shapes(Application.Caller)

          cs = Cells(2, .TopLeftCell.Column).Value2

          c = Cells(2, cs).Value2 + 6

          ActiveSheet.Cells(3, c).Value2 = .ControlFormat.List(.ControlFormat.Value)

          ContaDigitos Cells(1, cs).Value2, Range(Cells(1, cs + 1), Cells(1, cs + 6)).Value2, cs, Cells(3, cs + 6).Value2

     End With
End Sub

o problema que eu não consigo atualizar a lista de abas na mesma macro chamada pela caixa de combinação para assim somente listar as abas existentes

existe alguma forma de fazer isso?

 
Postado : 03/11/2016 10:14 am
(@mprudencio)
Posts: 2749
Famed Member
 

Acho que seu problema é facilmente resolvido se vc colocar no evento inicialize do formulario.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 03/11/2016 1:41 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

não é de formulário e sim controle de formulário em planilha
no formulário eu se fazer , com actvex tbm sei mas não quero usar para esse projeto

 
Postado : 03/11/2016 1:49 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

estou achando meio complicado a um tempo atras tbm tentei
se acionar a macro que preenche a lista com a que adiciona ou exclui as abas teria que fazer varredura na planilha procurando os controles
acho que o jeito vai ser cria uma aba auxiliar fixa que vai ter os nomes das abas existentes , aí sim esses nomes serão adicioados e excluidos pelas macros q add e exclui aba
e os controles vão só acessar essa lista
testar aqui

 
Postado : 03/11/2016 2:23 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

a solução foi ter uma aba fixa
criar uma area nomeada para adicionar nos controles e uma macro para atualizar os nomes sempre que tiver exclusão ou adição de uma aba

Sub Clona_Aba()
     NomePLan = ActiveSheet.Name
     Sheets(NomePLan).Copy after:=Sheets(ThisWorkbook.Worksheets.Count)
     Listar_Abas
End Sub


Sub Exclui_Aba()
     NomePLan = ActiveSheet.Name
     If NomePLan <> "Filtros" Then
          ActiveWindow.ActiveSheet.Delete
          Listar_Abas
     End If
End Sub
 
Postado : 04/11/2016 6:57 am