Formulario visual Basic en excel

15 envíos / 0 nuevos
Último envío
Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
Formulario visual Basic en excel

Buenos días amigos,

Tengo el siguiente problema:

Cree en excel un formulario con Visual Basic (no soy experta) y logo que todo funcionara a la perfeccion, solo hay un detalle que NO me gusta ver ja.

Cuando ejecuto el formulario, se pasa a mi segunda hora de trabajo, y no se queda en la primera,  donde se ingresan los datos, y al final el uso del formulario y cerrarlo queda en otra hoja, y yo quiero y necesito que vuelva a la primera que es donde esta la planilla donde se ven los datos que se ingresaron mediante el formulario.

Otra cosa, diferente a lo anterior, en esa hoja donde esta la planilla que se completa con el formulario hay unas columnas que se deben escribir a mano, y para que se sepa inserte unas fechas en su parte superior, me gustaria fueran fijas para que nadie las mueva y no se equiboquen en donde completar los datos, y a la vez me gustaria que si alguien pasa el raton por ensima de la flecha le salga un escrito que diga, esta columna dede ser completada por usted. Esto puede ser?

 

Por otro lado, se puede hacer que las columnas que se completan con el formulario, en la plantilla se pueda bloquear para que nadie por error la modifique?

 

 

Espero puedan ayudarme.

De ante mano se los agradezco.

Muchas gracias.

Saludos cordiales.

AdjuntoTamaño
File proyecto_pino_azul_version_final.xlsm262.83 KB
Cron
Imagen de Cron
Offline
última acción: Hace 1 año 3 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
HolaSi es lo que he entendido

Hola

Si es lo que he entendido, lo que puedes hacer es localizar en el código del formulario, donde pone:

Private Sub cancelar_Click()
Unload Me
End Sub


puedes poner:

 

Private Sub cancelar_Click()
Sheets("Control").Activate
Unload Me
End Sub


Un saludo

Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
Perfecto, muchas gracias!!

Perfecto, muchas gracias!!!

Fue genial.

Respecto a mis otras dudas puedes ayudarme?

Mil gracias coesa me ayudaste, mil graias.

Un saludo.

Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
Cron otra consulta, como

Cron otra consulta, como viste en el archivo hay tres hojas, cuando completas el formulario va a la hora AStilleros, eso se puede evidar para que el cliente no la vea, ya que era mi intencion ocultar esa hoja, pero al hacerlo me sale error y no se ejecuta el formulario.

Gracias.

Cron
Imagen de Cron
Offline
última acción: Hace 1 año 3 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Se puede hacer, pero tienes

Se puede hacer, pero tienes que cambiar un poco el código. Además, te recomiendo que en el futuro pienses mejor de esta forma que te voy a comentar.

Al cargar el userform, lo que haces es poblar el desplegable de los astilleros con la lista que tienes en la pestaña del mismo nombre. Tú quieres que esté oculta, por lo que el código te dará un error al seleccionarla (al estar oculta, no se puede seleccionar ni activar).

Pero hay otra manera. Sí puedes hacer referencia a sus valores sin activarla ni activar cada celda. Esto suele ser lentísimo. Cuando son pocas celdas, como en tu caso, da igual. Pero cuando son muchas, se nota en el tiempo de ejecución.

Yo sustituiría tu código al inicializar el formulario por el siguiente:

Private Sub UserForm_Initialize()

astillero.Clear
fila = 1
Do While Sheets("Astilleros").Cells(fila, 1).Value <> ""
   astillero.AddItem Sheets("Astilleros").Cells(fila, 1).Value
    fila = fila + 1
Loop

End Sub

 

De esta manera, no seleccionas nada y la pestaña puede estar oculta.

 

Un saludo

Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
NUEVA CONSULTA

NO SOY MUY EXPERTA COMO VERAS, LO CUAL AGRADEZCO MUCHO TU AYUDA, DE PONER ESTE CODIGO, QUE DEBERIA BORRAR, YA QUE TODO LO ARME A BASE DE VIDEOS EN YOUTUBE

NECESITARIA AGREGAR EN EL FORMULARIO EN APARTO DONDE COMPLETAR LA FECHA, ME AYUDARIAS CON EL CODIGO PARA FIJAR UN FORMATO DE FECHA, DIA/MES/AÑO.

 

AGUARDO ANSIOSA TU RESPUESTA.

MIL GRACIAS.

Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
voy a volver loca

ahora agregue una columna con la fecha, y cuando abro el formulario el cursor sale en el nombre... en vez de salir en la echa,

Te adjunto el archivo por si puedes ayudarme.

Saludos

AdjuntoTamaño
File proyecto_pino_azul_version_final.xlsm266.89 KB
Cron
Imagen de Cron
Offline
última acción: Hace 1 año 3 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Cuando pinchas en cada objeto

Cuando pinchas en cada objeto del formulario, todos los que permiten que el usuario interactúe con ellos (textboxes, botones, listboxes...) tienen una propiedad que se llama Tabindex.

Cuando abres el formulario, el cursor se te irá al objeto que tenga el valor menor de Tabindex. Dos objetos no pueden tener el mismo valor, pero de eso se encarga Excel. Si tienes un objeto con Tabindex=0, y a un segundo objeto le pones tú a mano que su valor tabindex=0, entonces el primer objeto aumentará su tabindex a 1 automáticamente. De esta manera, tendrás ordenados los objetos para que cuando el usuario tenga abierto el formulario, cada vez que le dé a la tecla TAB, pase al siguiente objeto (al que tiene el valor de tabindex inmediatamente superior al que tenía el foco.

 

Lo que tienes que hacer es seleccionar el textbox de la fecha, buscar su propiedad tabindex y cambiar el valor 15 por 0.

 

No sé si me he explicado bien. Si es que no, dímelo y lo cuento liándome un poco menos ;)

 

Saludos

Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
SOY MALISIMA

CREO QUE SOY MALISIMA CON ESTE Y ME METI EN UN BUEN LIO CON ESTE TRABAJITO....

TE MANDE UN MAIL, TE LLEGO?

 

Cron
Imagen de Cron
Offline
última acción: Hace 1 año 3 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
HolaComo mi dirección de

Hola

Como mi dirección de correo aquí no es pública, imagino que lo habrás enviado a la página, por lo que lo recibirá Paco. Él te puede ayudar tanto o más que yo.

 

Un saludo

Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
TE DEJO MI CORREO, ESCRIBEME

TE DEJO MI CORREO, ESCRIBEME TU SI NO ES MOLESTIA, CARLANOMINATI@GMAIL.COM

MIL GRACIAS.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
en el log del sitio aparece

en el log del sitio aparece un error al intentar enviar el mensaje interno, así qeu el mensaje no se envió.

En cualquier caso, es mejor plantear las preguntas en el foro y no mediante email, por aquello de ser de utilidad para futuros visitantes con un problema similar.

 

------
Ya sé Excel, pero necesito más.

Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
no puedo resolverlo

hola, busco lo que me decis pero no puedo encontrarlo, me ayudarias!

Carla
Imagen de Carla
Offline
última acción: Hace 7 años 5 meses
alta: 01/06/2017 - 17:17
Puntos: 150
cambio de codigo

si cambio el codio este que me comentas, cual deberia sustituir?

Gracias.

Fuerte abrazo

Cron
Imagen de Cron
Offline
última acción: Hace 1 año 3 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Hola, CarlaComo te comenté,

Hola, Carla

Como te comenté, entra en las propiedades del formulario. Selecciona el textbox de la fecha (el que quieres que salga primero). Si no lo tienes activado, selecciona Ver|Ventana Propiedades

Dentro de esta ventana, y con el textbox seleccionado, busca la propiedad Tabindex y cambia su valor a 0. Vuelve a ejecutar. Verás que ahora, al abrirse el formulario, el foco está en el textbox de la fecha.

 

Un saludo