UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

Lehoi


Hola a todos

Estoy trabajando en una tabla que reune datos sobre resultados de partidos de futbol.
Estoy atascado en la elaboración de varios userform que me permitan introducir los datos.
He probado trozos de código que he encontrado en videos, en foros pero lo que no logro es enlazarlo todo y que funcione correctamente.

La idea básicamente es que a través de un botón en la primera hoja llamada Main, se llame a el userform "Select_Team" donde selecciono el nombre del equipo al cual le voy a introducir los datos del último partido. 

Este userform "Select_Team" muestra un combobox donde aparecen todos los equipos (todas las hojas) menos la primera que es la hoja donde están los botones y otras cosas.

Al seleccionar el equipo, se autoesconde el userform "Select_Team" y llama al userform "Add_Match" donde introduciré los datos en los respectivos textboxes.

Estos pasos anteriores serían para introducir nuevos datos. 

En la primera hoja Main hay otros dos botones:

"Delete Match" 
que sería para borrar una fila (partido) introduciendo el numero de fila a través del userform "Select_Match" (es la forma más práctica que se me ocurre, si alguien tiene otra idea mejor será mas que bienvenida).

"Modify Match" 
Para editar un partido usando el mismo método que "Delete Match" usando el numero de la fila de ese partido, introduciendo el numero de fila a través del userform "Select_Match". Al hacer click en "Acept" llamaría al userform "Add_Match" pero esta vez sería para editar los datos de esa fila. 

La tabla que adjunto está en ingles porque en principio la hice para subirla a un foro en ingles que me recomendaron, pero descubrí este foro y lo que he visto me ha parecido estupendo, mucha gente y muchos conocimientos reunidos.

De antemano agradezco cualquier ayuda o sugerencia que me puedan ofrecer.

Saludos!
Archivos
Results_Userform.xlsm
No tienes los permisos para descargar los archivos.
(160 KB)

Igtelo


Hola Lehoi.

Te adjunto lo que "necesitas" con formularios de Excel, sencillos, prácticos y eficientes, sino los has trabajado consulta en la ayuda.

Macros en módulo1 y hoja Main en VBA, en ambas encuentras explicación; todas las hojas tienen un hipervínculo... Juega un rato con el para que veas su funcionamiento.

Saludos
Ignacio Téllez
P.d: Para próximas consultas se concreto, tanto rollo no dan ganas de leer y por favor toma en cuenta que es un foro en español no en ingles.(Súbelo en español en foros de ingles y te mandan al cuerno).
Lee: Recomendaciones para hacer preguntas.
Archivos
Lehoi-Formulario de Excel.zip
No tienes los permisos para descargar los archivos.
(48 KB)

Lehoi


Que puedo decir Igtelo, me has dejado sin palabras! 

No solo has resuelto el problema que tenía, sino que has mejorado con creces el resultado final!
El formulario es justo lo que deseaba pero no me atreví a decirlo en su totalidad porque ya estaba pidiendo demasiado y por eso me limité a lo más esencial. 

Digo que es mucho mejor porque incluye la opción de ver los registros anteriores, permite editarlos, eliminarlos, en fin que has hecho un trabajo tremendo, estoy muy muy contento y agradecido por tu ayuda, ojalá algún día pueda devolverte el favor!

Tienes toda la razón en que hablo más que un papagayo y que no debí haber usado el inglés, hay gente que lo entiende y gente que no, y al ser este foro en español debí cuidar ese detalle haciendo otra tabla en español, pero estaba ansioso y no me di cuenta.
Tendré mucho cuidado con esos detalles en el futuro, cada foro en su idioma Embarassed 
 
Ahora me podré a estudiar el código y tratar de aprender lo máximo que pueda, el excel es una mina!

Mil gracias Igtelo!!!
Un abrazo!!!

Lehoi


Hola
Lo he pensado para preguntar esto porque ya bastante me han ayudado como para fijarme en detalles sin mucha importancia, pero es una duda que si la aclaro sería perfecto.

La tabla funciona de maravilla, salvo cuando elimino alguna hoja y entonces en la primera hoja donde está la macro que me lista las hojas y me permite seleccionarlas, me empieza a repetir los nombres de la última hoja de la tabla.

He revisado el código de la hoja Main y hecho algunas pruebas, pero no consigo dar en el clavo Suspect .

Código:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As String

If Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub

If Intersect(Target, [G2:G42]) Is Nothing Then Exit Sub  'Para 40 equipos
c = Target
'Sheets(c).Select                  '1
'ActiveSheet.ShowDataForm    '2
Sheets(c).ShowDataForm       '3
End Sub

'Si quieres que se pase a la hoja: Activa 1 y 2 y desactiva la 3
'(Activar= Quitar el apostrofo a la instrucción)
 
esta captura muestra el problema (tengo que poner el link porque no sé porque no me inserta la imagen):
http://postimg.org/image/bqoulr6qp/

Por cierto Igtelo, he hecho lo que sugieres y queda bárbaro ir a la página y ver la tabla directamente, ya veo la lógica del link en cada hoja al main Wink

adjunto la tabla con el ejemplo del problema (repito la tabla va genial, es un detalle menor)
" />
Archivos
Lehoi-Formulario de Excel.xlsm
No tienes los permisos para descargar los archivos.
(113 KB)

Igtelo


Hola Lehoi.

No es que lo repita, lo que pasa es que queda cargado el dato anterior:
Ejemplo: Si tienes 10 hojas y cargas, aparecen 10 equipos, al eliminar una hoja y volver a dar click sólo carga 9, pero se quedan los 10...

Para evitar ello, agregamos una línea en el módulo 1 para borrar:

Sub Equipos()
'Pasa nombres de hojas a columna G
Dim w As Byte

[G2:G42].ClearContents   '<== Primero borra y después carga
For w = 2 To Sheets.Count
   Cells(w, 7) = Sheets(w).Name
Next

'Ordena alfabéticamente
[G2:G42].Sort [G2], 1

End Sub

Ve éste par de tutoriales, te ayudarán mucho:

http://www.universoexcelforo.com/t1181-como-trabaja-una-macro-y-la-hoja-de-calculo-simultaneamente-videotutorial

http://www.universoexcelforo.com/t1461-encontrar-ayuda-en-vba-p-nuestras-macros-videotutorial

Saludos
Ignacio Téllez

Lehoi


Hola Igtelo 

He visto tu mensaje temprano pero hasta ahora no he llegado y podido ponerme a probar lo que me explicas.
Que voy a decir que ya no haya dicho antes, como todo lo que me has dicho hasta ahora funciona P E R F E C T O

Fíjate si estaba despistado que en vez de analizar el código de la macro que se ejecuta al pulsar el botón, estaba mirando la del useform  Embarassed Embarassed Embarassed

Nuevamente muchas gracias por tu ayuda y por ser tan rápido contestando!
Los comentarios en tus códigos son muy útiles para entenderlos, se agradece.

Los vínculos que me has indicado los voy a mirar ahora, espero que si hay una próxima vez que necesite solicitar ayuda, lo haga pero ofreciendo algo más elaborado, vamos que se vea que he aprendido algo de código Wink 

Saludos MAESTRO!

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.