Notifications
Clear all

Selecionar Planilha através de Combobox

5 Posts
2 Usuários
0 Reactions
1,893 Visualizações
RafaelLuan
(@rafaelluan)
Posts: 26
Eminent Member
Topic starter
 

Boa tarde Pessoal,

Por favor, necessito de, mais, uma ajuda.

Tenho uma planilha onde tenho um Form com um ComboBox, este ComboBox carrega os nomes da abas existentes na planilha, a função dele é escolher e selecionar a planilha, e quando eu clico em alguma, Ex. Plan1, ele seleciona a Plan1.

No código usado ele carrega o nome de todas as Planilhas no ComboBox, mas o que eu precisava é que ele, por exemplo, não aparecesse nas opções os nomes das Plans 1 e 2, ou seja, que elas não aparecessem como opção de serem selecionadas através do ComboBox. Tem como isso?

Desde já, muito obrigado,

Rafael Luan

 
Postado : 25/02/2014 10:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Troque a rotina por esta:

Private Sub UserForm_Initialize()
    Dim Plan As Worksheet
    
    For Each Plan In ActiveWorkbook.Worksheets
        
        If Plan.Name = "Plan1" Or Plan.Name = "Plan2" Then
        
        Else
            ComboBox1.AddItem Plan.Name
        End If
        
    Next Plan
    
End Sub

[]s

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

 
Postado : 25/02/2014 11:38 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Rafael,

Vê se ajuda.

[EDIT]Fala Mauro, blz?
Enquanto estava postando você colocou... Cara, ainda estou apanhando com esses Array's, então estou tentando usa-los para ir pegando... Segue meu código:

Private Sub UserForm_Initialize()
Dim Plan    As Worksheet
Dim PlanD() As Variant
Dim i       As Long

PlanD = Array("Plan1", "Plan2") ' Insira aqui as planilhas que não quer que apareça
Quant = Application.CountA(PlanD) - 1
ComboBox1.Clear

    For Each Plan In ActiveWorkbook.Worksheets
        For i = 0 To Quant
            If Plan.Name = PlanD(i) Then
                GoTo Proximo
            End If
        Next i
        ComboBox1.AddItem Plan.Name
Proximo:
    Next Plan
End Sub

Qualquer coisa da o grito.
Abraço

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

 
Postado : 25/02/2014 11:39 am
RafaelLuan
(@rafaelluan)
Posts: 26
Eminent Member
Topic starter
 

Mauro,

Muito obrigado, funcionou perfeitamente e era o que eu precisava.

Bernardo, muito obrigado também, pois seu exemplo também funcionou muito bem, apesar de eu nao compreender muita coisa que esta la rs e o que eu sei sobre Array é bem o básicão, como ordenar algumas coisas só rs.

valeu, tenham uma otima tarde !!!

Rafael Luan

 
Postado : 25/02/2014 12:11 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

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

 
Postado : 25/02/2014 2:34 pm