Tengo un userform, que tiene 10 optionbutton, cuyo objetivo, es abrir otros userform.

Estimados, tengo el siguiente problema, tengo un userform, que tiene 10 optionbutton, el objetivo de ellos, es abrir otros userform, en donde hay opciones mas especificas según la elección, el problema que no logro enlazar con el comando show la variable Opción.

este es el código que estoy usando

Private Sub CommandButton1_Click()
Dim Opción As String
With eventos
Select Case True
Case .penal.Value = True
Opción = .penal.Caption
Case .Freekick.Value = True
Opción = .Freekick.Caption
Case .ventaja.Value = True
Opción = .ventaja.Caption
Case .scrum.Value = True
Opción = .scrum.Caption
Case .lineout.Value = True
Opción = .lineout.Caption
Case .triepenal.Value = True
Opción = .triepenal.Caption
Case .tríe.Value = True
Opción = .tríe.Caption
Case .drop.Value = True
Opción = .drop.Caption
Case .cambio.Value = True
Opción = .cambio.Caption
Case .cambiotemporal.Value = True
Opción = .cambiotemporal.Caption
Case Else
Opción = "Ninguno"
End Select
Opción.Show
End With
End Sub

Estaré muy agradecido de su ayuda

1 respuesta

Respuesta
1

¿Y por qué no mostrás directamente según el Option sea True?

Select Case True
Case .penal.Value = True
Penal.show
Case .Freekick.Value = True
Freekick.Show

Aquí estoy presuponiendo esos nombres de Userforms,... aclarame sino qué debe abrir cada control.

Sdos

Elsa

http://aplicaexcel.galeon.com/index.htm

Estimado, he leído muchas consultas tuyas en esta pagina, y siempre tienes soluciones muy acertadas....felicitaciones.

Efectivamente esos son los nombres de los userforms, y se ve que es una solución mucho mas sencilla.

Ahora bien al ejecutar la rutina, me aparece el error "438 en tiempo de ejecución el objeto no admite esta propiedad o método", y se detiene sobre "penal.Show".

¿ Sera porque estoy abriendo un userforms, desde otro userforms, sin antes haber cerrado el primero?

La última línea la habrás quitado, verdad? luego del End Select no vá más Option.show

Y si los 2 UF tienen su propiedad ShowModal en True no debiera darte ningún error.

Se me hace que el error está en el evento de apertura del UF2, el evento Initialize o Activate. Probá de ejecutarlo directamente desde el Editor, sin pasar x el UF1.

Si luego de estos ajustes no das con el problema enviame las rutinas completas y la reviso nuevamente.

Los UF están con la propiedad ShowModal en True

Ejecute todos los UF desde el editor y corren

Adjunto código

Private Sub CommandButton1_Click()
With eventos
Select Case True
Case .penal.Value = True
penal.Show
Case .Freekick.Value = True
Freekick.Show
Case .ventaja.Value = True
ventaja.Show
Case .scrum.Value = True
scrum.Show
Case .lineout.Value = True
lineout.Show
Case .triepenal.Value = True
triepenal.Show
Case .trie.Value = True
trie.Show
Case .drop.Value = True
drop.Show
Case .cambio.Value = True
cambio.Show
Case .cambiotemporal.Value = True
cambiotemporal.Show
End Select
End With
End Sub

Esta es la rutina que abre el primer UF (eventos), que corre cuando se hace doble clic en el rango de celdas correspondiente, esta rutina funciona aparentemente de manera correcta.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("C7:N15")) Is Nothing Then
Cancel = True
eventos.Show
End If
End Sub

Saludos

Doble clic en celda = muestra el UF eventos.

Allí seleccionas algún OptionButton y luego el CommandButton1, que será algo como Aceptar.

Entonces quitale estas 2 líneas al código:

With eventos ..... y al final End With



Sdos

Elsa


¿Quedó claro? Debes quitar las líneas With y End With.

Comentame si esto resolvió tu consulta finalizándola.

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas