Ir ao conteúdo
  • Cadastre-se
Philippe Soares

Excel Criar TextBox e definir Macro para ela (dimanicamente)

Recommended Posts

Olá, sou novo aqui no Fórum, dei uma pesquisada antes de abir o tópico e não encontrei algo relacionado ao assunto, então vamos a ele:

Gostaria de Saber como criar uma Textbox, a partir de uma macro e atribuir um evento a essa textbox que foi recém-criada.

Exemplo: Tenho Formulario1(F1), que contem uma Multipage1(MP1), que tem a Page1 com 15 Textbox (que serão inseridos o "ID" do mateial) que serão espelhadas (after_update) em outras 15 Textbox.

(Não sei se esta dando para compreender)

o Scrip de criação das page eu já tenho 

 

algo como:


 

Public X As Long

'X = Número da Página que será criada (default =1)
Private Sub Nova_Pg_Click()
F1.MP1.Pages.Add.Name = "PG" & X
NOME = "PG" & X
With F1.MP1.Pages(X)
 k = 10
 

'K = para posicionamento das txtbox em cada page (TOP=10) que é adicionado em +30 para ser espaçado para próxima textbox



 Y = 1

'Y = Quantidade de Textbox



 Do Until Y = 15

'

        Set txtB1 = F1.MP1.Pages(X).Controls.Add("Forms.TextBox.1")

'Definição das propriedades da textbox

'textbox1 entrará o ID, que será referência para busca do nome do produto

        With txtB1
            .Name = "TB_" & Y
            .Height = 20
            .Width = 50
            .Left = 10
            .Top = k
        End With
        
        Set txtB2 = F1.MP1.Pages(X).Controls.Add("Forms.TextBox.1")

'Definição das propriedades da textbox2

'TextBox 2 entrará o nome do produto

        With txtB2
            .Name = "TB_D" & Y
            .Height = 20
            .Width = 50
            .Left = 90
            .Top = k
        End With
        
 'Adiciona o espaço para proxima textbox
 k = k + 30

'vai para proxima textbox ate = 15

 Y = Y + 1

Loop

'define o a altura da pagina igual a ultima textbox e ativa a scrollbar

.ScrollHeight = k
.ScrollBars = 2
End With

'define a variavel para a proxima page como +1
X = X + 1
End Sub

Minha duvida é como fazer com que essas textbox que foram friadas após serem atualizadas ou uma a uma por (For Each) executem (call) a sub chamada Busca com parametros que seja o nome da própia textbox que a chamou e a textbox que será retorna o resultado da sub busca; 

 

Nos teste que tenho feito, criar as textbox e as page com o nome PG1, PG2, PG3 ~...... e as txtbox como Name: TB_1,TB_2,TB_3 ~.....

não tem sido problema, porém consegui com que as textbox com a ID (textbox1) busquem o nome e retornem nas Textbox2  que me complica

o que consegui é :

 

Private Sub TB_01_AfterUpdate()
Call BUSCA (F_TRANS.TB_01, F_TRANS.TB_1D)
End Sub

 

Onde a sub call realiza a busca com base nos parâmetros tb_1 e retorna na tb_1d

Porém fazer com que a macro sera realizada em textbox que ainda não foram criadas é o que não estou conseguindo;

Quem puder ajudar agradeço muito, hoje 13/03/18, não consegui upar o arquivo de exemplo, porém amanha creio que consigo.

Desde já agradeço a ajuda a atenção de todos;

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×