Notifications
Clear all

Userform: Erro em command button dentro de multipage

4 Posts
3 Usuários
0 Reactions
1,186 Visualizações
(@gilbertjrs)
Posts: 0
New Member
Topic starter
 

Pessoal, boa noite.

Lá no serviço criei uma planilha que conforme a necessidade de ajustes são acrescentadas dinamicamente páginas em um multipage e,
os controles da página (0) são replicados para as novas páginas criadas.

Acontece que existe um botão de comando que faz seleções dentro da página, na página original (0) funciona porém, nas páginas adicionadas não.

Alguém por gentileza pode me dizer como resolver isto?

Obs.: Segue uma planilha simulando resumidamente o código.

Att

 
Postado : 29/01/2018 8:11 pm
(@leandroxtr)
Posts: 0
New Member
 

Não entendi bem o que voce deseja fazer com o botão que existe dentro da Page1

 
Postado : 30/01/2018 5:30 am
(@gilbertjrs)
Posts: 0
New Member
Topic starter
 

Não entendi bem o que voce deseja fazer com o botão que existe dentro da Page1

O botão existe em todas as páginas que são criadas dinamicamente, todas são réplicas perfeitas da page(0) porém, cada uma com dados diferentes nos listbox. No arquivo aqui do serviço tem 2 listbox dentro de cada página, o botão serve para pegar os itens selecionados em um lisbox e acrescentar no outro listbox e vice-versa.

Não posso ter uma quantidade fixa de páginas pois a quantidade de segmentos depende da proposta, do cliente e podem no futuro existirem mais segmentos não previstos atualmente (a exigência é ter flexibilidade e não abrir um zilhão de páginas, somente as necessárias em cada proposta), por isto aumento a quantidade de páginas dinamicamente, porém, cada uma deve ter seu command button interno.

O que acontece é que quando os controle da page(0) são copiados para as demais, o botão funciona sempre apenas na page(0) e não nas demais.

Por exemplo, altere o código da sub teste para

Sub teste()
    Dim i, countPages As Integer
    With UserForm1
        With .MultiPage1
            For i = 1 To 3
                countPages = .Pages.Count
                .Pages.Add
                .Pages(0).Controls.Copy
                .Pages(countPages).Paste
            Next i
        End With
        Call Layout
        .Show
    End With
End Sub

Serão 4 páginas, onde o botão deveria funcionar em cada uma delas.

 
Postado : 30/01/2018 5:48 am
(@basole)
Posts: 487
Reputable Member
 

Voce precisa acrescentar um módulo de Classe para os eventos dos controles copiados.

Baixe o exemplo que faz exatamente isso cria varias paginas no multipage:

Exemplo: https://drive.google.com/file/d/0ByjAVr__2CigTTVtYjRkbjFiY3c/view?usp=sharing

Fonte: https://stackoverflow.com/questions/45663469/dynamically-duplicating-a-page-in-a-multipage

 
Postado : 30/01/2018 7:34 am