Nosotros | Acceder | Web | Plantillas |
Nuevos Artículos

¿Cómo lanzar varios formularios al presionar diferentes celdas de Excel?


Cómo lanzar varios formularios al presionar dos veces una celda en un hoja de Excel, por ejemplo, cómo puedes observar en la imagen inferior, si presionamos dos veces en cualquier celda de la columna B ya nos muestra el formulario 02, pero si presionamos en la columna A se cierra el que teníamos abierto para mostrarse el formulario 01, entonces ¿Cómo lanzar o cerrar formularios dependiendo del tipo de celda que presionemos?, si te interesa aprender de este tema, te invitamos a revisar este artículo que te traemos con todo el código necesario para tal efecto.
El efecto terminado es el siguiente:


Preparando lo necesario

Primero identificamos nuestras columnas a ser utilizadas, en este ejemplo hemos tomado como referencia a la columna A para mostrar el formulario 01 y en toda la columna B para mostrar el formulario 02. En segundo lugar en nuestro editor de Visual Basic insertamos dos formularios.

Códigos a implementar

Básicamente para implementar el código vamos a usar el evento BeforeDoubleClick de la hoja activa. Para eso nos vamos al nombre de la hoja y con doble clic ingresamos dentro de la hoja1, aquí seleccionamos al objeto WorkSheet, luego en la lista de eventos seleccionamos al evento BeforeDoubleClick, es en este evento que estaremos programando una macro para que nos permita lanzar cada formulario en su respectiva columna al presionar dos veces clic en una celda de la columna A o de la columna B. Básicamente este evento BeforeDoubleClick nos permite ejecutar una macro siempre y cuándo se presione dos veces la misma celda de Excel.

Para poder mostrar el formulario 01 en toda la columna A usamos el siguiente código:

If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then 'Restringimos solo a la columna A
  Cancel = True 'Cancelamos la ejecución del código en otras celdas
  UserForm2.Hide 'Cerramos el formulario 02
  UserForm1.Show 'Lanzamos el formulario 01
End If
El código entre el evento BeforeDoubleClick de la hoja de Excel es:


Para poder mostrar el formulario 02 en toda la columna B usamos el siguiente código:

If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then 'Restringimos solo a la columna B
  Cancel = True 'Cancelamos la ejecución del código en otras celdas
  UserForm1.Hide 'Cerramos el formulario 01
  UserForm2.Show 'Lanzamos el formulario 02
End If
El código entre el evento BeforeDoubleClick de la hoja de Excel es:


Al juntar el código de los dos formularios tanto para la columna A cómo para la columna B el código implementado final es:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then 'Restringimos solo a la columna A
        Cancel = True 'Cancelamos la ejecución del código en otras celdas
        UserForm1.Hide 'Cerramos el formulario 01
        UserForm2.Show 'Lanzamos el formulario 02
    End If
    If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
        Cancel = True
        UserForm1.Hide
        UserForm2.Show
    End If
End Sub
Cómo puedes observar es muy sencillo implementar varios formularios en una hoja de Excel y que esos sean mostrados en áreas específicas de la hoja de Excel. Puede ser implementado en varios eventos, no solamente cuándo se haga doble clic en la celda.  

Cómo insertar ceros a la izquierda de forma incremental


¿Alguna vez te has preguntado cómo insertar ceros a la izquierda en Excel y por qué es importante? Esta sencilla, pero poderosa técnica puede marcar la diferencia en la presentación de tus datos y facilitar su interpretación. Cuándo trabajas con números en Excel o serie de números, es fundamental mantener la coherencia en el formato para evitar confusiones. Insertar ceros a la izquierda de forma incremental en celdas que contienen códigos, IDs, o series de datos es fundamental para algunos formatos. en este artículo descubriremos dos formas muy sencillas de cómo implementar este tipo de formatos.

Método 01

El primer método consiste en usar la función SECUENCIA y la función REPETIR, (sino tienes Excel 365 o mínimo del año 2021 la función secuencia no lo vas a tener para eso te recomendamos revisar el método 2 que lo describamos líneas más abajo). Entonces, para los que tienen la función SECUENCIA vamos a proceder de la siguiente manera, primero insertamos nuestro código patrón o el número a repetir en la primera celda, en este caso el número a repetir es el 183 que lo tenemos en la celda B2. Luego en la siguiente celda es decir en la B3 hacemos uso de la función SECUENCIA y REPETIR, y finalizamos la fórmula concatenando con la misma celda B2 del número original. Resultando la siguiente fórmula:
Ejecutado en la hoja de Excel el resultado obtenido sería:


Si observamos un poco la función SECUENCIA en su argumento único tenemos al número 18, esto significa que el formato se aplicará para 18 filas de la columna B (Puedes aplicar para el rango o número de filas que sea necesario) , provocando un desbordamiento hasta la fila 20, para poder controlar a solo filas emparejadas con la columna A debemos de aplicar la función SI donde se evalúe el estado de la columna A, a todo el retorno de la función REPETIR, resultado la siguiente Fórmula:
Ejecutado en Excel el resultado obtenido es:


Cómo puedes observar anteponiendo la función SI hemos controlado el desbordamiento a filas vacías de la columna A, de esta forma si registramos valores en la columna A los ceros a la izquierda se mostrarán automáticamente de forma incremental hasta la fila que hemos señalado en el argumento de la función SECUENCIA.

Método 02

Este método consiste simplemente reemplazar la función SECUENCIA por otras funciones mucho más antiguas que toda versión de Excel lo tiene, me estoy refiriendo a la función FILA, al usar la función FILA nos solicita la referencia de un rango, en este caso será todo el rango de la columna A,  a toda esta función restamos la misma función FILA, pero de una sola celda de la columna A en este caso la celda adyacente por la parte izquierda que es la celda A3 y al final sumamos 1 de esta manera ya tenemos una secuencia que empieza con el numero 1 referenciado al rango de datos y no a la hoja de Excel. De esta manera la función que reemplaza a la función SECUENCIA es:
Ejecutado en Excel tendríamos el siguiente resultado:


Ahora, si reemplazamos la función SECUENCIA con la fórmula construida con la función FILA el resultado que llegamos a obtener es el objetivo deseado:
Ejecutado en la hoja de Excel el resultado es:


Cómo puedes observar te hemos mostrado 2 métodos de cómo añadir ceros de forma incremental a la izquierda en una serie de registros en Excel. Al implementar esta técnica, mejorarás la presentación visual de tus datos y facilitarás su lectura y análisis, lo cual es especialmente útil en informes, bases de datos o cualquier otro documento donde la precisión y claridad son fundamentales.

Cómo sumar filas alternas en Excel


Existen ocasiones en las que los datos de nuestras hojas de Excel se encuentran distribuidos de tal manera que necesitamos sumar los valores ubicados en filas alternas. Es por eso que en este artículo te traemos los detalles de cómo sumar filas alternas en Excel. A fin de sumar filas alternas en Excel de manera eficiente, es crucial seguir un método preciso que garantice la exactitud de los cálculos, y uno de los métodos es el que a continuación te detallamos:


Mira, para eso aquí tenemos esta información, una serie de actividades y por cada una de ellas tenemos presupuesto que se ha destinado, y al final tenemos el gasto o la inversión real que se ha tenido, todo esto distribuido desde el mes de enero hasta el mes de agosto. Entonces nuestro objetivo es sumar el total del prepuesto que se ha destinado para todas estas actividades y por cada mes, además conocer el total de lo que realmente se ha invertido en cada mes y entre todas las actividades, y si observas estamos en el típico caso de sumar filas alternar para cada mes. Entonces, como hacer este tipo de sumas alternas.

Adicionando una columna auxiliar 

Uno de los pasos fundamentales para este método es agregar al final una columna adicional donde vamos a utilizar un pequeño artificio que nos permita sumar por separado a presupuestos y a todas las inversiones reales. Donde aplicaremos una Fórmula que nos permita distribuir ceros y unos de forma alterna. Esta fórmula será:
Ejecutado en la hoja de Excel tendríamos el siguiente resultado:


En la columna adicional utilizamos una fórmula que nos permita ingresar un código que represente a presupuestos, y otro código que nos permita reconocer a la inversión real. Para eso usamos la función RESIDUO, luego la función FILA con divisor de 2 trayendo como retorno serie de números de ceros y unos. Entonces, de esto podemos diferenciar dos cosas, primero cada valor de cero hace referencia a todas las filas del presupuesto, y todo valor de uno hace referencia o representa a la fila de la inversión real.

Usamos la función SUMAR.SI

Entonces, bajo este principio de ceros y unos vamos a utilizar una fórmula para que solo nos sume a presupuestos y a las inversiones reales, para eso en la celda C17 usamos la función SUMAR.SI, donde el rango será toda la columna adicional fijado con la tecla F4, con un criterio de cero para los presupuestos, y lo que vamos a sumar será toda la columna del mes de Enero.
Ejecutado en Excel tendríamos el resultado que a continuación mostramos:


Ahora para conocer la inversión real, simplemente cambios el criterio del cero a un criterio de uno, finalmente aplicamos para todas las columnas. Obteniendo los siguientes resultados:
Ejecutado en la hoja de Excel tendríamos:


Cómo observas con este método logramos obtener las sumas de presupuestos e inversión real por separado, claro, este método sólo es uno de los muchos que existen, pero por ahora hemos usado simplemente la función SUMAR.SI teniendo en cuenta una columna adicional.

Variaciones al método anterior

En el método anterior habíamos usado como rango o argumento uno de la función SUMAR.SI a la columna adicional y cómo criterio a un cero o aun número uno. Pero, todo esto se puede simplificar si realizamos unas pequeñas variaciones en los argumentos de la función SUMAR.SI. Por ejemplo, cambiamos el argumento rango a la columna B de los conceptos, y en el criterio a la palabra "Presupuesto" o "Real". La fórmula resultante sería:
Ejecutado en Excel tendríamos:


Y si realizamos una pequeña variación en el argumento criterio cambiando de "Presupuesto" a "Real" tendríamos el resultado para los totales reales tal como mostramos a continuación:
Ejecutado en Excel el resultado obtenido es como se muestra:


Siguiendo estos pasos, será posible sumar filas alternas en Excel de forma precisa y efectiva. Es fundamental mantener la organización y coherencia en el proceso de cálculo para obtener resultados confiables.

El efecto HOVER en un control TextBox de una hoja de Excel


El tema que nos trae a este post surge a raíz de un video que publicamos hace un tiempo en nuestro canal donde presentábamos el efecto HOVER por así decirlo, dentro de una caja de TextBox en una hoja de Excel. Pero a que nos referimos con el efecto HOVER, mira, si observas la imagen inferior donde en una hoja de Excel tenemos un control TextBox y por defecto nos muestra un texto que dice buscar, pero cuando damos clic para escribir dentro de él el texto buscar desaparece y nos deja escribir un nuevo texto y de otro color, ahora si salimos del control el texto buscado se mantiene, pero si se borra el texto y se selecciona cualquier otra celda de la hoja vemos que nuevamente se muestra la palabra Buscar que teníamos al inicio. Entonces en este artículo te muestro a cómo hacerlo en un par de líneas de código.


Para que tengas toda la información a tu alcance puedes descargar el material usado en este post:

Implementando el efecto HOVER

Básicamente implementar este efecto es muy sencillo, consiste simplemente en programar unas líneas de código y tener el efecto listo para ser usado. Mira, primero y el paso que no debería faltar es guardar el libro cómo libro habilitado para macros y creo que esto no es un mayor problema puedes hacerlo desde la pestaña archivo, > guardar > Examinar > y en tipo seleccionar libro habilitado para macros o bien puedes ir directamente presionando la tecla F12, y guardar el libro.


Insertando un control TextBox de tipo ActiveX

Para insertar un control de tipo ActiveX en una hoja de Excel, nos vamos a la pestaña programador < grupo controles > insertar > Control ActiveX, lo dibujamos en un espacio de la hoja y así ya tendríamos nuestro control implementado. 


Para programar el código damos dos veces clic sobre del control y nos lleva a la ventana de visual Basic para aplicaciones. Estando aquí básicamente vamos a usar dos eventos, primero el evento SelectionChange de la hoja y al evento GouFocus, del control ActiveX estos dos eventos son los que harán la magia para el efecto HOVER de nuestro control.


Primero, dentro del evento SelectionChange de nuestra hoja vamos a delimitar un rango de celdas para que cuando seleccionemos alguna celda el texto Buscar se muestre en el control,  para eso dentro de este evento vamos a pegar el código que a continuación se muestra:

If Not Intersect(Target, Range("A:M")) Is Nothing Then 'Rango donde se aplica el efecto al hacer clic
    If TextBox1.Value = "" Then 'Si el control está vacío
        Me.TextBox1.Value = "Buscar..." 'Insertamos la palabra Buscar...
        TextBox1.ForeColor = vbRed ' Color de texto Rojo
        TextBox1.Font.Size = 20 'Tamaño de texto de 20 puntos
    End If
End If
En Visual Basic sería como se muestra:


Posteriormente en el evento GotFocus vamos revertir el efecto. Este evento significa un cambio al ubicarse sobre el control, es muy similar al evento Change. Entonces, dentro de este evento usamos el código:

If TextBox1.Value = "Buscar..." Then 'Revertimos la condición anterior
    TextBox1.Value = "" 'Limpiamos el control
    TextBox1.ForeColor = vbBlack 'Aplicamos un color negro al texto
    TextBox1.Font.Size = 20 'Aplicamos un tamaño de 20 puntos al texto
End If
El código en visual Basic quedaría:


De esta forma hemos implementado el efecto HOVER en un control TextBox de una hoja de Excel. De esto podríamos concluir que el efecto HOVER no solo mejora la funcionalidad y la estética de un control en Excel, sino que también potencia la interacción del usuario y favorece el dominio el rendimiento de los espacios usados. Por tanto, su implementación cuidadosa y efectiva es esencial para lograr una experiencia de usuario satisfactoria y memorable.

Sumar por categorías o rango de datos en Excel


Cómo sumar por categorías o grupo de productos. Este es un tema que muchos me han solicitado al interno para poder explicar. Te comento que existen variaos métodos para implementar este tipo de sumas, en este artículo te mostraré las más usadas y las más principales que a menudo usamos en Excel. ¿Te interesa aprender de este interesante tema? Entonces, continúa en este artículo que a partir de este momento te detallamos. 

En el ámbito empresarial y académico, el manejo eficiente de datos es fundamental para la toma de decisiones acertadas. En este contexto, Excel se erige como una herramienta clave debido a su versatilidad y amplias funcionalidades. Entre las diversas operaciones que se pueden realizar en Excel, la suma por rangos ocupa un lugar destacado por su relevancia en el análisis numérico y la automatización de tareas. Sumar por rangos en Excel permite obtener rápidamente la totalización de un conjunto de celdas seleccionadas, simplificando así el proceso de operaciones matemáticas complejas. Esta función facilita la obtención de resultados precisos y confiables al sumar un rango de datos, evitando posibles errores manuales y agilizando el flujo de trabajo

Sumar rangos usando la función UNICOS

El primer caso que vamos a detallar requiere que usted tenga acceso a la función UNICOS. Huy, pero no te preocupes sino cuentas con esta función, ya que la función UNICOS está disponible en las nuevas versiones de Excel, y en Excel 365. Si no tiene acceso a esta función no te preocupes, que en las próximas líneas te estaré detallado un segundo método sin hacer uso de esta función. Pero en este método vamos a usar la Función UNICOS y la Función SUMAR.SI.CONJUNTO para subtotalizar automáticamente el número de Productos por cada categoría según como se muestran en la imagen:


Primero usamos la función UNICOS para determinar cuántas categorías de productos únicos tenemos en toda esta lista de la columna A. Si observas, cuándo se introduce esta fórmula, se crea automáticamente una lista de únicas categorías desbordantes debajo de la celda e1 E1 para mostrar todos los valores únicos encontrados dentro de la columna A. esto sucede por el hecho de que la función UNICOS genera formulas de matriz dinámica, que nos permite automatizar la compilación de datos repetidos. la función quedaría cómo se muestra a continuación:
Y ejecutada en la hoja de Excel nos daría el resultado que se muestra en la siguiente imagen:


Ahora bien para sumar por cada categoría vamos a usar la función SUMAR.SI.CONNJUNTO, los argumentos que nos solicita esta función son, primero el rango-suma o el rango que vamos a sumar, que será toda la columna C de las cantidades, en el segundo argumento nos solicita el rango del criterio 1, este rango serán todas las categorías por las que deseamos sumar, y en el tercer argumento nos solicita ingresar el criterio1, y este criterio será la categoría que hemos obtenido con la función UNICOS. El resultado obtenido de la fórmula será como la que se muestra a continuación:
Ejecutada en la hoja de Excel tendríamos los resultados de la siguiente imagen:


Y si observamos nos mostrará las cantidades para cada categoría, por ejemplo, para quesos una cantidad total de 375, para yogur 271 y la leche 121. Como has podido observar es muy sencillo cuando disponemos de la función ÚNICOS.

Sumar rangos sin usar la función UNICOS

Ahora, sino tienes la función UNICOS y tampoco quieres actualizar tu Excel aquí te va el segundo método. Mira, usamos la función INDICE y la función COINCIDIR con una función CONTAR.SI para crear una fórmula matricial que produzca una lista de valores únicos de un rango de celdas, ¿Cómo así? Bien, vamos con el paso a paso. 

Si usamos primero la función INDICE con su argumento matriz a una función CONTAR.SI (Fíjate en los argumentos que tiene la función CONTAR.SI) con cero filas y cero columnas obtenemos un resultado de ceros en forma de matriz dinámica. Tal como lo mostramos a continuación:
Ejecutado en la hoja de Excel tendríamos:


Ahora, si a todo lo anterior aplicamos una función COINCIDIR donde el valor buscado sea un cero "0" porque estamos buscando valores únicos, dentro de una matriz buscada que será todo el retorno de la función INDICE anterior, con una coincidencia exacta al final (El cero = coincidencia exacta) obtendríamos el valor de 1, es decir que tenemos 1 único valor repetido que son solo ceros. Los detalles a continuación:
Ejecutado en la hoja de Excel tendríamos:


Ahora, si a todo el retorno de la función COINCIDIR anterior aplicamos una nueva función INDICE con el primer argumento de la matriz buscada de todas las categorías con referencia absoluta y el segundo argumento del numero de filas todo el retorno de la función COINCIDIR obtendremos nuestro primer resultado:
Ejecutado en la hoja de Excel se tendría:


Cómo se observa ya tenemos el primer resultado de las categorías, y si aplicamos para las demás celdas vamos a obtener un error de tipo  #N/D, para evitarlo usamos la función SI.ERROR aplicado a todo el retorno de la función INDICE quedando de la siguiente manera:
Ejecutado en la hoja de Excel tendríamos:


Si observas ya tenemos el mismo resultado que hemos logrado con la función UNICOS. Y la fórmula que acabamos de construir es de tipo matricial, y cuándo estas se introducen en Excel 2019 o versiones anteriores, es obligatorio usar CTRL + SHIFT + ENTER para validar en la celda de Excel, esto realizar en lugar de solo ENTER normal. Reconocerás que lo has hecho correctamente cuándo se muestran las llaves al inicio y final de la fórmula. NO escribas estas llaves manualmente, porque si lo haces la fórmula no funcionará.
 
Soporte : Privacidad | Términos y Condiciones | Cookies
Copyright © Desde el 2022. Dominando Ofimática - Derechos Reservados
Nuestros Proyectos Web Oficial Además de Nuestro Canal
Síguenos en TikTok