Coger datos de una columna llevarlos a un textbox

Hola. Mi problema es el siguiente. Tengo una serie de datos (texto) en a2:a16 variable (tanto en contenido como en número, con un máximo de 15). Tengo un userform con un textbox y un commandbuton. Al textbox le doy de entrada el valor de a2, y lo que quiero es que según se pulsa el botón el textbox vaya cogiendo los valores uno a uno hacia abajo hasta encontrar uno vacío, y entonces se cierra.
He hecho este código con retales (utilizaré la manida frase de "estoy empezando con esto"), y no me funciona:
Dim politica As String
Dim found As Boolean
Range("a2").Select
politica = TextBox3.Value
found = False
Do Until IsEmpty(ActiveCell)
If ActiveCell.Value = politica Then
found = True
Exit Do
End If
ActiveCell.Offset(1, 0).Select
Loop
If found = True Then
If ActiveCell <> 0 Then
TextBox3.Value = Range(ActiveCell).Offset(1, 0).Value
Else
Unload Me
End If
End If
¿Podéis ayudarme?. Muchas gracias.

1 respuesta

Respuesta
1
Explicaste lo que hace tu rutina y la línea errada es la del Textbox3. Value. Reemplázala por esta:
TextBox3.Value = ActiveCell.Offset(1,0).Value
Ahora, quizás quieras explicar lo que intentas hacer, ya que no se entendió para qué usas esta rutina . De todos modos con este arreglo funciona
Hola Elsa.
Así si que funciona pero sigo teniendo un problemilla, así que trataré de explicar lo que intento:
Primero relleno la columna A a través de un combobox en un userform (userform1). Luego tengo otro userform (userform2) con la siguiente estructura: un textbox, 10 option button numerados del 1 al 10 y dos commandbuton, uno para salir y otro en el que meto el código anterior.
Lo que quiero conseguir es que en el textbox me aparezca el primer string de la columna (a2), de manera que un usuario lo puntúe de 1 a 10 (marcando el optionbutton), y cuando le de al botón de seguir aparezca el siguiente string (a3) para puntuar, hasta que se acabe la lista. El paso siguiente será pasar esas puntuaciones a la hoja, pero poco a poco. Lo que me pasa con lo que tengo (con la modificación que me mandaste) es que al darle al botón la celda a2 pasa a tener el string que había en a3, y ya no avanzo.
No sé si se entenderá todo el rollo, gracias por intentarlo.
El primer valor lo tenés que agregar al inicio, lo mejor en el evento Initialize del UF2 o al llamarlo desde el UF1.
Private Sub UserForm_Initialize()
TextBox3 = Range("A2")
End Sub
Entonces ya tenés a la vista el primer string... luego el botón te irá mostrando el resto. La rutina funciona bien así como la tenés.
Cualquier diferencia podes enviarme el modelo al correo que encontrarás en mi sitio o solicitarme mi ejemplo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas