Ocultar textboxes con for...next

Hola de nuevo, je je, quisiera saber si se pueden ocultar muchos textbox en un formulario con el bucle for...next...

El caso es que tengo un formulario con muchos textbox, y en función del valor numérico que tengo en una celda, al abrir el formulario se deben mostrar más o menos textbox.

Los textbox se denominan así: txtbx1, txtbx2, txtbx3,txtbx4....y así hasta txtbx80.

Si A1 = 30, por ejemplo...

for i=30 to 80

txtbx i . Visible=false

next

¿Es posible hacer eso? ¿Cómo? Ya que lo he intentado de varias maneras.

1 Respuesta

Respuesta
1

Lamentablemente en excel no se puede realziar una matriz de controles del tipo

Textbox(n)... es decir si tomas un control en un form y lo "copias" se agregara como un elemento nuevo y no como una instancia del mismo text, por lo tanto no podemos idetificar el control por un indice.

Este sub, te permite recorrer la coleccion controls del form y ocultar todos los text

Private Sub CommandButton1_Click()

'4c7569735f50
Dim T As Control
For Each T In Me.Controls
If TypeName(T) = "TextBox" Then
T.Visible = False
End If
DoEvents
Next
End Sub

Pero t.name identifica el nombre del control, puedes adaptarlo

En definitiva, o los oculto todos o ninguno según entiendo no? Por ejemplo ocultar desde txtbx30 hasta txtbx70 no podría no?

En vba excel hasta donde yo se ... no por que no puedes identificar los controles mediante indice

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas