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

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#69281
Boa Noite

Preciso de uma ajuda

Tou montando um programa no Excel VBA so que eu sou iniciante e não entendo muito das macros.

Quero ao abrir uma Page do MultiPage execultar as macros que aquela Page vai usar.

O Programa Tera 1 MultiPage so que nesse MultiPage tem 10 Paginas e cada pagina tem um ListView que traz tabelas do Access só que se eu usar o comando UserForm Initialize as 10 ListView com 10 Macros diferentes funcionara ao mesmo tempo assim necessitando de grande processamento assim travando o PC.
Obs: o PC ja trava com 3 paginas do google aberto.
#69291
Experimente:
Código: Selecionar todos
Private Sub MultiPage1_Click(ByVal Index As Long)
 Select Case MultiPage1.SelectedItem.Name
  Case "Page1": MsgBox "Page1 foi ativada"
  Case "Page2": MsgBox "Page2 foi ativada"
  '...
  '...
 End Select
End Sub
#69295
Boa Tarde.

Teria como me explicar melhor como esse codigo iria funcionar?

Eu tenho pouca Noção com o Excel VBA, mais eu vi o codigo e estou achando que só muda de pagina e aparece o texto.
Não entendi como vai funcionar.

Obrigado.
#69298
GRS007 escreveu: 21 Fev 2022 às 21:25 Quero ao abrir uma Page do MultiPage execultar as macros que aquela Page vai usar.
Instale uma cópia do código que passei no módulo do UserForm.

Ao selecionar/ativar qualquer uma das páginas do UserForm irá aparecer a MsgBox informando qual foi a página selecionada/ativada. Então, no lugar da MsgBox coloque o código que você deseja executar, conforme eu entendi do seu pedido acima.

Eu coloquei somente os comandos que correspondem às páginas 1 e 2, complete até a página 10.

Se tiver dificuldade então disponibilize uma amostra do seu arquivo Excel.
#69299
Estou mandando o Arquivo

Explicando melhor, queria que em vez de usar o comando ( UserForm Initialize ) usar um pra cada Page.

Tou querendo que chama a macro so se tal pagina esta aberta.

Pq o Userform Initialize iria buscar todas tabelas do access e abrir tudo junto sem tar usando todos ai vai pesar muito pro pc.

No UserForm Initialize ele ta chamando a tabela do access para dentro do ListView, ai ele vai chamar as 10 de uma vez quando abrir o Programa.


Obrigado
Você não está autorizado a ver ou baixar esse anexo.
#69300
De acordo com o que voce citou no seu primeiro post, que o PC está travando, acredito que o ideal é voce carregar os dados da respectiva pagina, somente quando ela for selecionada.
Conforme o mestre @osvaldomp sugeriu .... chamando macro de acordo com a pagina selecionada, ou seja, por exemplo quando o usuario selecionar a pagina 2 somente os dados do listview da pagina 2 será carregado
Código: Selecionar todos
Private Sub MultiPage1_Change()

 Select Case MultiPage1.Value
  Case 0: ' ..............
  Case 1: Call Carregar_Dados_List_Clientes
  Case 2: Call Cabeçalho_List_Produto
  '...
  '...
 End Select

End Sub
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