none
TextBox - Frame RRS feed

  • Pergunta

  • Bom dia, galera estou com um problema já alguns dias com uma planilha...

    Antes precisava criar TextBox dentro de uma planilha sem usar UserForms, não consegui, então em ajudaram aqui no fórum. Fiz em um Frame, desenhei os TextBox e ComboBox que preciso. Mas, preciso salvar as informações que forem digitadas nos Text em uma outra planilha do Excel. Ai que esta o problema, preciso digitar o código. Só que não chama os TextBox do frame...

    Desde já agradeço.

    Att.

    quarta-feira, 30 de abril de 2014 15:14

Respostas

  • Para descobrir o nome dos controles, faça algo como mostrado:

      Dim txt As msforms.TextBox
      
      For Each txt In Me.Frame1.Controls
        Debug.Print txt.Name
      Next txt
    

    Para atribuir um valor diretamente a um controle, use o código abaixo:

    Me.Frame1.Controls("TextBox1").Text = "Avenida Brasil"

    Para alterar o nome de um controle:

    Me.Frame1.Controls("TextBox1").Name = "txtEndereço"


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta fcvelho sexta-feira, 2 de maio de 2014 11:38
    quinta-feira, 1 de maio de 2014 15:16
    Moderador
  • Nesse caso, sugiro que o botão de comando seja do tipo ActiveX. Não crie a partir da caixa de ferramentas do Frame.

    No contrário, terá que escrever uma classe para criar um evento, como pode ver aqui: http://stackoverflow.com/questions/566770/assign-on-click-vba-function-to-a-dynamically-created-button-on-excel-userform


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta fcvelho segunda-feira, 20 de outubro de 2014 15:08
    sábado, 3 de maio de 2014 14:34
    Moderador

Todas as Respostas

  • Para descobrir o nome dos controles, faça algo como mostrado:

      Dim txt As msforms.TextBox
      
      For Each txt In Me.Frame1.Controls
        Debug.Print txt.Name
      Next txt
    

    Para atribuir um valor diretamente a um controle, use o código abaixo:

    Me.Frame1.Controls("TextBox1").Text = "Avenida Brasil"

    Para alterar o nome de um controle:

    Me.Frame1.Controls("TextBox1").Name = "txtEndereço"


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta fcvelho sexta-feira, 2 de maio de 2014 11:38
    quinta-feira, 1 de maio de 2014 15:16
    Moderador
  • Felipe, se eu fizer um CommandButton dentro do Frame para abrir um UserForm, tentei com o mesmo comando e mais alguns, mas não consegui.

    Se eu fizer assim ele funcionara?

    Plan7.Frame1.Controls("CommandButton1"). ?  = UserForm.Show

    sexta-feira, 2 de maio de 2014 12:27
  • Nesse caso, sugiro que o botão de comando seja do tipo ActiveX. Não crie a partir da caixa de ferramentas do Frame.

    No contrário, terá que escrever uma classe para criar um evento, como pode ver aqui: http://stackoverflow.com/questions/566770/assign-on-click-vba-function-to-a-dynamically-created-button-on-excel-userform


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta fcvelho segunda-feira, 20 de outubro de 2014 15:08
    sábado, 3 de maio de 2014 14:34
    Moderador