Cambiar de celda desde useform

Si tengo un useform y en el un textbox1 y un botón de comando, ¿cómo puedo cambiarme hacia abajo de la celda activa a9 a la a10 y que en el textbox1 me aparezca el valor que contenga la celda activa?
Gracias y muchos saludos

1 respuesta

Respuesta
1
Es fácil, te paso el código para que lo pongas en tus botones y en tu textbox
1º Para el Textxbox:
Private Sub TextBox1_Change()
TextBox1 = ActiveCell.Offset(1, 0).Value
End Sub

Esto hará que aparezca el valor de la celda de debajo de la celda activa
2º Para el boton de comando:
Private Sub CommandButton1_Click()
Call TextBox1_Change
End Sub

Al pulsar en el botón se te cargará el valor en el textbox
3º Pones otro boton en tu userform y le cargas esta macro para cerrar el userform
Private Sub CommandButton2_Click()
Unload Me
End Sub

Al pulsar este botón se cerrará el Userform
Espero que lo soluciones con estos códigos
>Un saludo
>Julio
Muchas gracia por la respuesta, el valor si me lo da, pero lo que en si quiero es que al darle click sobre el command button, pueda irme cambiando de celda hacia abajo, es decir, a9, después con otro click a10, a11, a12, a13, etc.
Vaya esa no era tu pregunta solo que bajara a coger el valor de la celda de abajo, ahora hay que cambiar la macro del botón poniendo delante de Call TextBox1_Change que baje una celda osea esta ActiveCell. Offset(1,0). Select
Y en el Textbox en vez de poner ActiveCell(1,0). Value debes de cambiar por ActiveCell. Value
Y así cada vez que pinches en el boton de comando primero bajara un celda, y depués mandará la macro al Textbox y este tan solo mostrará el valor de la celda activa y así simpre que pinches en el boton volvera ha hacer el codigo completo, Baja>Carga TextBox>Muestra el valor>Clic>Baja>Carga Textbox>muestra el valor....... Hasta que cierres el Userform.
>Un saludo
>Julio
Excelente respuesta de verdad, de hecho hice otro botón más en el cual cambie ActiveCell. offset(1,0). select por ActiveCell.offset(0,1) y con ello me envía hacia la derecha.
Para poderme subir cual seria el código e igual hacia la izquierda.
Disculpa pero es para poder terminar este useform, que créeme que no había podido encontrar quien me lo contestara.
Gracias infinitas de antemano y un saludo enorme,
Te explico para que sepas como funciona el código ActiveCell (celda activa) Offset (ponme la celda activa donde te diga a continuación) ( 1) linea correspondiente a las Filas si quieres bajar será positivo 1>baja 1 fila, 2>baja 2 filas... el (0) te la deja en la fila donde esta la celda activa, y en negativo (-1) pues hace lo mismo pero hacia arriba -1>sube 1 fila, -2>Sube 2 filas... ahora las columnas funciona igual, el segundo numero corresponde a columnas (X, 1) se desplaza a la deerecha 1 columna (X, 2) se desplaza 2 columnas, y como deducirás en negativo se vuelve hacia la izquierda las columnas que especifiques (-1) a la izquierda 1 columna (-2) hacia la izquierda 2 columnas, y evidentemente (0) se queda en la columna donde esta la celda activa.
Explicado este rollo si pones ActiveCell. Offset(1,0) bajará una fila y se quedará en la misma columna, si pones ActiveCell(-5,6) subirá 5 filas y se desplazará a la derecha 6 columnas. Todo esto siempre desde la celda activa lógicamente.
Con esto ya podrás realizar tu código. Otra cosa si quieres solo situarte en esa celda el código debe de terminar en .Select osea ActiveCell. Offset(2,-1). Select te pondrá la celda activa dos filas mas abajo y una columna a la izquierda. Pero si lo que quieres es tomar el valor que tiene la celda donde vas a dirigirte con la instrucción, para alguna función posterior el código lo debes de cambiar por ActiveCell. Offset(2,-1). Value.
Bueno espero que te sirva si quieres algo más aquí me tienes, si lo das por resuelto cierra la pregunta y la puntúas.
>Un saludo
>Julio
Ya lo logré, le puse valores de -1 y con eso obtuve la respuesta
Muchas gracias, de verdad me sirvió demasiado. Calificación para el experto de excelente y también para el sitio.
Respuestas perfectas
Sirve mucho.
Saludos a todos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas