Cómo recuperar valor de un TextBox creado desde código

Para Dante, necesito saber cómo puedo recuperar el valor que ingresé al TextBox creado con antelación desde código.

1 respuesta

Respuesta
1

Encontré esta forma:

Tienes esto

Private Sub Userform_Activate()
    izq = Label1.Left - 7.5
    alt = Label1.Top + Label1.Height + 10
    Set txtB1 = Me.Frame1.Controls.Add("Forms.TextBox.1")
    With txtB1
        .Name = "TextBox1"
        .Height = 18
        .Width = 48
        .Left = izq
        .Top = alt
    End With
End Sub

Entonces, le pusiste por nombre "TextBox" al nuevo control: Texbox1.

Con lo siguiente podemos recuperar el valor del "TextBox"

Private Sub CommandButton1_Click()
    For Each ctr In Controls
        nombre = ctr.Name
        If nombre = "TextBox1" Then
            MsgBox ctr.Value
        End If
    Next
End Sub

Ahora, si vas a crear varios textbox, te sugiero lo siguiente:

Declaramos 2 variables públicas con y alto

Dim con,  alto

Cuando activas el form le decimos que la variable con es igual a 1, y alto = al alto del label.

En un botón pones el creador de textbox, cada que lo presiones te creará un textbox nuevo abaja del textbox anterior y con un nuevo nombre. Textbox1, textbox2, de esa forma puedes saber qué dato está en qué textbox.

Dim con, alto
Private Sub CommandButton1_Click()
    For Each ctr In Controls
        nombre = ctr.Name
        If nombre = "TextBox1" Then
            MsgBox ctr.Value
        End If
    Next
End Sub
Private Sub CommandButton2_Click()
    izq = Label1.Left - 7.5
    Set txtB1 = Me.Frame1.Controls.Add("Forms.TextBox.1")
    With txtB1
        .Name = "TextBox" & con
        .Height = 18
        .Width = 48
        .Left = izq
        .Top = alto
    End With
    alto = alto + 28
End Sub
Private Sub Userform_Activate()
con = 1
alto = Label1.Top + Label1.Height + 10
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Dante muchas gracias por compartir su amplio conocimiento, el programa me sirvió perfectamente, he aprendido más de lo que logro aprender en la Universidad, admiro su disposición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas