Acceso directo a formulario

Hola, tengo una hoja de calculo de excel asociada a unos formularios en Visual Basic 6.0. Tengo un CommandButton creado en la hoja de excel y quiero que abra directamente el formulario creado en Vba y en marcha (con el play funcionando). ¿Cuál es el código necesario que debo introducir en este botón? Espero puedan ayudarme. Muchas gracias.

1 respuesta

Respuesta
1
Para abrir el userform desde un botón en la hoja pones este código al botón:
Private CommandButton1_Click()
Userform1.Show
End Sub
>Un saludo
>Julio
PD:Si te ha servido puntúa y finaliza la consulta.
Joder! Muchas gracias Julio, Soy Sebastián y llevaba tiempo intentando encontrar eso que no sabia hacerlo desde excel. Funciona a la perfección. ¿Podrías ayudarme en una cosilla más? Es que nadie ha sabido contestarme. Mira tengo Una serie de formularios que me calculan unos datos en hojas distintas de excel, y en el ultimo formulario aparece una opción a guardar y otra a ver.
En guardar uso el siguiente código: "CommonDialog1.ShowSave", pero no me aparece el tipo de archivo a guardar y no hace nada...
Y la opción para ver( y que se vea la vista preliminar de las distintas hojas) no tengo ni idea. Si puedes ayudarme te lo agradecería infinito. Gracias por las respuestas.
Para el código de ver la vista preliminar pones estew código en el botón ver
ActiveWindow. SelectedSheets. PrintPreview
Y par guardar, lleva mucha tela, ese es el botón "MADRE" del formulario es el que hace todo, dependiendo de lo que tengas en todo tu formulario hay que decirle lo que tiene que guardar y donde, para eso es necesario tener el formulario delante y saber todo lo que hace, te pongo un ejemplo, en el Userform tienes 2 TextBox y un botón guardar. En los textbox son solo para poner los datos pero al pinchar en guardar tienes que dar toda la información para guardar lo datos algo así:
Sheets("Hoja1").Select 'Seleccionamos la hoja 1
Range("A1").Select 'Nos situamos en la celda A1
ActiveCell.Value=TextBox1.Value 'Pasamos a la celda A1 el valor que hemos puesto en el tesxtbox1
Range("B1"). Value=Textbox2. Value 'Otra forma de pasar el valor del textbox a la celda en este caso B1
Pues sabiendo todo esto es imposible que te pueda ayudar para pasar todos tus valores a la hoja.
>Un saludo
>Julio
Perdona Julio, pero creo que no me explique en la opción de guardar, porque lo que yo quiero es guardar las hojas de excel (donde ya se han introducido los datos) desde un botón que tengo en Visual Basic, es decir, que me guarde el archivo de excel con los resultados obtenidos gracias al programa creado por Visual Basic.
Espero haberme explicado mejor.
Gracias por tu respuesta tan buena y rápida.
Si, una aclaración sobre el botón "VER".
El código funciona, pero al estar en funcionamiento el formulario de Visual Basic, la vista preliminar queda detrás y se bloquea porque no tengo código para continuar, ¿no puedo continuar en excel a "ver página siguiente"?(¿Qué seria lo suyo) y después continuar en visual Basic...?
No se si te estoy hartando un poco Julio, si ves que eso, no pasa nada, ¿vale?, tu ayuda me a sido muy buena.
Vamos a ver para mostrar la página activa en vista preliminar es el código que te dí, pero efectivamente la página queda detrás del formulario para solucionarlo el código del botón quedaría así:
Private Sub CommandButton1_Click()
UserForm1.Hide
Application.Visible = True
Sheets("LA HOJA QUE QUIERAS VER").Select
ActiveWindow.SelectedSheets.PrintPreview

Sheets("LA HOJA SIGUIENTE QUE QUIERAS VER").Select
ActiveWindow.SelectedSheets.PrintPreview
ETC ETC ETC
UserForm1.Show
End Sub
Vamos a ver si me entiendes las dos lineas de código que pone en negrita debes de repetirla tantas veces como hojas tienes, mientras estas en vista previa el formulario se ocultará cuando hayas cerrado todas las vistas previas el formulario volverá a aparecer.
>Un saludo
>Julio
Ok, ok Julio. Muchas gracias por tu dedicación, tiempo y paciencia conmigo. Me ha sido de gran ayuda. No dudare en preguntarte si me surge alguna duda otro día.
Muchas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas