Notifications
Clear all

Chamar um procedimento pelo select case

5 Posts
2 Usuários
0 Reactions
1,146 Visualizações
(@fernandox)
Posts: 68
Trusted Member
Topic starter
 

Ola Pessoal, estou tentando fazer uma chamada de um procedimento pelo select case, não estou conseguindo, quais são os comandos que preciso inserir, este é o meu código que estou fazendo so que esta ocorrendo erro na chamada. Obrg a todos que postarem no auxilio, abraço

'Combobox - CbFiltro
Private Sub CbFiltro_Change()
Select Case CbFiltro
Case ""
MsgBox "Necessario selecionar uma opção "

Case "Clientes"
Call RelatorioClientes <-------- USO INVALIDO DA PROPRIEDADE
End Select
End Sub

Private Sub UserForm_Initialize()
'Inicializa o Combobox Filtragem dos Relatorios
With CbFiltro
FrmFiltroRelatorios.CbFiltro.AddItem "Clientes"
FrmFiltroRelatorios.CbFiltro.AddItem "Produtos"
FrmFiltroRelatorios.CbFiltro.AddItem "Vendedor"
FrmFiltroRelatorios.CbFiltro.AddItem "Fornecedor"
FrmFiltroRelatorios.CbFiltro.AddItem "Municipios"
End With
End Sub

 
Postado : 29/05/2018 12:13 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Tente assim:

Select case CBFiltro

Case Is "Clientes"
Call RelatorioClientes
Case is "Produtos"
Call Produtos
End Select

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 : 29/05/2018 12:29 pm
(@fernandox)
Posts: 68
Trusted Member
Topic starter
 

Ola Marcelo, novamente venho lhe agradecer por estar me orientando, havia pego um exemplo e inseri no código, gostaria de saber qual a diferença entre os dois códigos qual possui uma performance melhor para o funcionamento.

Select Case Me.CbFiltro.Value
          Case ""
               MsgBox "ATENÇÃO: Necessario selecionar uma opção"
          Case "Clientes"
               RelatorioClientes
     End Select

O comando Call ele possui algum método que melhor atende na chamada da rotina? Como não entendo da programação VBA surgiu esta dúvida. Caso você disser que seja a melhor opção vou inserir para que o código fique no conceito da programação .
Marcelo, muito obrg, abraço

 
Postado : 29/05/2018 5:19 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Pessoalmente nao sei se tem diferença de performance.

Acho que vai mais da opção de cada um

Call macro1

macro1

Em ambos os casos a rotina macro1 sera executada.

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 : 29/05/2018 5:43 pm
(@fernandox)
Posts: 68
Trusted Member
Topic starter
 

Ola Marcelo, fico grato pelas orientações, vou seguir suas indicações no código, abraço

 
Postado : 30/05/2018 4:13 am