Forma de usuario y rangos

Puedes usar un control RefEdit en Excel VBA para obtener un rango de un usuario. El formulario de usuario vamos a crear colores del valor mínimo del rango almacenado en el control RefEdit.

Para crear este formulario de usuario, ejecute los siguientes pasos.

1. Abra el Editor de Visual Basic. Si el Explorador de Proyectos no está visible, haga clic en Ver, Explorador de Proyectos.

2. 2. Haga clic en Insertar, Formulario de usuario. 3. Si la Caja de herramientas no aparece automáticamente, haga clic en Ver, Caja de herramientas. La pantalla debe configurarse como se indica a continuación.

3. Añade la etiqueta, el control de RefEdit y los botones de comando. Una vez que esto se haya completado, el resultado debe ser consistente con la imagen del Userform mostrado anteriormente. Por ejemplo, cree un control RefEdit haciendo clic en RefEdit desde la caja de herramientas. A continuación, puede arrastrar un control RefEdit en el formulario de usuario.

Nota: Si su caja de herramientas no tiene un control de RefEdit, establezca una referencia al control de RefEdit. Haga clic en Herramientas, Referencias y marque Control de edición de referencias.

4. Puedes cambiar los nombres y los títulos de los controles. Los nombres se usan en el código VBA de Excel. Los subtítulos son los que aparecen en la pantalla. Es una buena práctica cambiar los nombres de los controles, pero no es necesario aquí porque sólo tenemos unos pocos controles en este ejemplo. Para cambiar la leyenda de la forma de usuario, la etiqueta y los botones de comando, haga clic en Ver, Ventana de propiedades y haga clic en cada control.

5. Para mostrar el formulario de usuario, coloque un botón de comando en su hoja de trabajo y añada la siguiente línea de código:

Soldado Sub Sub CommandButton1_Click() Formulario de usuario1.Show End Sub

Ahora vamos a crear el Sub UserForm_Initialize. Al usar el método Show para el Userform, este sub se ejecutará automáticamente.

6. Abre el Editor de Visual Basic.

7. En el Explorador del Proyecto, haga clic con el botón derecho en UserForm1 y luego haga clic en View Code.

8. Seleccione Formulario de usuario en la lista desplegable de la izquierda. 9. Seleccione Inicializar en la lista desplegable de la derecha.

9. Añade las siguientes líneas de código:

Private Sub UserForm_Initialize() Hoja1.Celdas.Fuente.Color.= vbNegro UserForm1.RefEdit1.Text = Selection.Address End Sub

Explicación: la primera línea del código cambia el color de la fuente de todas las celdas de la hoja 1 a negro. La segunda línea de código obtiene la dirección de la selección actual y la muestra en el control RefEdit.

Hemos creado la primera parte de la forma de usuario. Aunque ya se ve bien, no pasará nada cuando hagamos clic en los botones de comando de la forma de usuario.

10. En el Explorador del Proyecto, haga doble clic en UserForm1.

11. Haga doble clic en el botón Ir.

12. Añade las siguientes líneas de código:

Soldado Sub Sub CommandButton1_Click() Dim addr As String, rng, cell As Range, minimum Como Doble addr = RefEdit1.Valor Set rng = Rango(addr) mínimo = WorksheetFunction.Min(rng) Para cada célula en el rng Si celda.Valor = mínimo Entonces celda.Fuente.Color = vbRed La siguiente celda End Sub

Explicación: primero, obtenemos la dirección del control RefEdit y la guardamos en la variable String addr. Luego, establecemos el rng al rango especificado en el control RefEdit. Luego, usamos la función de la hoja de trabajo Min para encontrar el valor mínimo en el rango. Finalmente, coloreamos el valor o valores mínimos usando un bucle.

13. Haga doble clic en el botón Cancelar.

14. Añade la siguiente línea de código:

Soldado Sub Sub CommandButton2_Click() Descárgueme End Sub

Explicación: esta línea de código cierra el formulario de usuario cuando se pulsa el botón de cancelación.

15. Pruebe el formulario de usuario.

Resultado:

Deja un comentario