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
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