Leer varios textbox con un bucle

Estoy con una macro en excel 2007 y necesito leer varios textbox (30 textbox) y guardar sus valores en 30 celdas diferentes. El problema es que para no colocar todas las instrucciones para cada textbox quería utilizar un for... Next para leer todos los textbox colocando una sola linea de código.

¿Me podéis ayudar con el código para hacer esto? He mirado varios temas semejantes que hay aquí y no he conseguido hacerlo funcionar...

1 Respuesta

Respuesta
2

Enseguida te lo mando, un momento

Con este ejemplo de macro se recorre todos los textbox de tu formulario y pondrá su valor en la primera hoja de tu libro desde la celda A1 hacia abajo

Private Sub CommandButton1_Click()
'por luismondelo
fila = 1
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox" Then
Sheets(1).Cells(fila, 1).Value = ctrl.Value
fila = fila + 1
End If
Next
End Sub

no olvides finalizar la consulta

Muchas gracias Luis,

Y si en lugar de estar los textbox en el formulario están en la hoja 2. ¿Como queda el codigo?

Gracias

Entonces necesitas esta macro:

Ejecuta esta madro y te anotará el contenido de tus textbox en la columna A desde A1 hacia abajo

Sub prueba()
fila = 1
Dim o As OLEObject
For Each o In Worksheets(1).OLEObjects
If Left(o.Name, 3) = "Tex" Then
x = o.Index
valor = ActiveSheet.OLEObjects("TextBox" & x).Object.Text
Cells(fila, 1).Value = valor
fila = fila + 1
End If
Next
End Sub

no olvides finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas