Archive

Posts Tagged ‘MultiPage’

Fomulario Wizard en Excel vba con Multipage

August 27, 2011 2 comments

En esta ocasión muestro un ejemplo de cómo realizar un formulario Wizard con el objetivo de simular una encuesta.

Para el ejemplo se pudierdon haber utilizado formularios para cada pregunta, pero es mucho más funcional hacerlo con objetos Multipage, y sólo añadirles las instrucciones a los botones para desplazarnos entre las pestañas del objeto.

Cómo funciona ?

Tenemos un Form el cual contiene un Multipage que éste a su vez tiene 6 pestañas. También contiene 4 CommandbButtons que cumplen la función de desplazarse entre las pestañas:

  • Cerrar: cierra el formulario.
  • Anterior: se desplaza a la pestaña anterior.
  • Siguiente: se desplaza a la pestaña siguiente.
  • Mostrar resultado: se desplaza a la última pestaña con el resultado.

Imágenes del formulario

image image 

image image 

image image

Código del formulario

El código se encuentra en el módulo del formulario.

'---------------------------------------------------------------------------------------
' Module    : UserForm1
' Author    : Sergio A Campos H
' Date      : 27/08/2011
' Purpose   : Ejemplo de formulario (Wizard)
'---------------------------------------------------------------------------------------
'
Private Sub CommandButton1_Click()
'Botón << anterior
Me.MultiPage1.Value = Me.MultiPage1.Value - 1
End Sub
'
Private Sub CommandButton2_Click()
'Botón siguiente >>
Me.MultiPage1.Value = Me.MultiPage1.Value + 1
End Sub
'
Private Sub CommandButton3_Click()
'Llenamos etiquetas con resultados
Me.MultiPage1.Value = 5
Me.Label13.Caption = Me.txtNombre.Value
Me.Label17.Caption = Me.ComboBox1.Value
Me.Label16.Caption = Me.ComboBox2.Value
Me.Label15.Caption = Me.ComboBox3.Value
Me.Label14.Caption = Me.ComboBox4.Value
End Sub
'
Private Sub CommandButton4_Click()
'Salir
Unload Me
End Sub
'
Private Sub MultiPage1_Change()
'Evento para el cambio de páginas
Call MostrarCaption
Call Botones
End Sub
'
Sub MostrarCaption()
'Se asigna el título al formulario
Cuenta1 = Me.MultiPage1.Value + 1
Titulo = "EXCELeINFO - Cuestionario - Paso " & Cuenta1 & " de " _
    & Me.MultiPage1.Pages.Count
Me.Caption = Titulo
End Sub
'
Private Sub UserForm_Initialize()
'Llenamos Combos, título y botones
With Me
    .MultiPage1.Value = 0
    .MultiPage1.Style = fmTabStyleNone
    .ComboBox1.RowSource = "lstOpciones"
    .ComboBox2.RowSource = "lstOpciones"
    .ComboBox3.RowSource = "lstOpciones"
    .ComboBox4.RowSource = "lstSiNo"
End With
Call MostrarCaption
Call Botones
End Sub
'
Sub Botones()
'Habilitar / deshabilitar botones
Cuenta = Me.MultiPage1.Pages.Count - 1
If Me.MultiPage1.Value = 0 Then
    CommandButton1.Enabled = False
    CommandButton2.Enabled = True
    CommandButton3.Enabled = False
ElseIf Me.MultiPage1.Value = Cuenta - 1 Then
    CommandButton2.Enabled = False
    CommandButton1.Enabled = True
    CommandButton3.Enabled = True
ElseIf Me.MultiPage1.Value = 5 Then
    CommandButton2.Enabled = False
    CommandButton1.Enabled = False
    CommandButton3.Enabled = False
Else
    CommandButton2.Enabled = True
    CommandButton1.Enabled = True
End If
End Sub

:: Descargar ejemplo EXCELeINFO – Cuestionario Wizard

Categories: Excel, Forms, Formularios, vba Tags: , , , ,

Add-in: formulario administración de hojas (mostrar, ocultar, ordenar, agrupar)

April 28, 2011 14 comments

Se añade al Add-in un formulario de administración de hojas, tanto del libro activo, como de todos los libros abiertos.

Se diseña el formulario ante la necesidad de poder mostrar u ocultar hojas mediante una lista y poder elegir las que deseemos; así como también ordenar alfabéticamente.

En cuanto a todas las hojas de los libros abiertos (incluídos los ocultos), se añade la funcionalidad de poder elegir entre todas las hojas y poder agruparlas en un sólo archivo.

Funcionalidad:

Se añade al menú Hojas del Add-in EXCELeINFO, y mostrará un formulario con un MultiPage, el cual tiene dos pestañas. La primer pestaña es la de ‘Hojas libro activo’, donde encontraremos los botones de Mostrar hojas, Ocultar hojas y Ordenar hojas, permiténdonos aplicar cualquiera de las tres opciones a las hojas elegidas, como se muestra en la imagen:

image

En la segunda pestaña llamada ‘Hojas todos los libros’ aparece una lista de todas las hojas de los libros abiertos (incluyendo los ocultos) y un botón que nos permitirá agrupar las hojas seleccionadas en un archivo nuevo, como se muestra en la imagen:

image

:: Descargar EXCELeINFO add-in 2.2.2

Categories: Excel, vba Tags: , , , , ,