
jues
MiembroTodo se publica por jues
-
Saludos @JSDJSD espero estés bien excelente su solución funciona conforme a lo esperado salvo por un detalle con el que contestare su interrogante anterior respecto al mes. En la Hoja Excel donde ejecuto originalmente la formula: SUMPRODUCT(('USUARIOS & PRIVILEGIOS'!$BS27:BS56>=EOMONTH(TODAY(),-1)+1)*( 'USUARIOS & PRIVILEGIOS'!$BS27:BS56<=EOMONTH(TODAY(),0))) Es un Reporte Mensual y por lo tanto es indiferente el día o la semana donde este ubicado el feriado sin embargo con su pregunta me percate que en este caso como es un Reporte Semanal si influye el día y la semana donde se ubique el feriado ya que hay semanas que son mixtas es decir se comparten entre dos meses y/o años diferentes como es el caso de las semanas donde se encuentran los días feriados correspondientes al 01/05/2024, 28/05/2024 y 31/12/2024 siendo así la macro solo debería contar el día feriado contenido en rango 'USUARIOS & PRIVILEGIOS'!$BS27:BS56 y reflejar un resultado en el TextBox31 si y solo si este feriado se encuentra en la semana comprendida entre los TextBox4 y TextBox5. Adjunto la versión funcional y casi definitiva de formulario. HHE PRUEBA.xlsm
-
N° DE DIAS VICTOR7.xlsm
-
Saludos @Victor7 gracias por ayudarme a solventar mi problema, su solución me parece más viable y entendible sin embargo por la forma como recoge los datos la MATRIZ añadí cuatro columnas donde de separo las fechas y días de cada evento para poder aplicar sus fórmulas pero interpreto que como hay celdas vacias entre datos las formulas se desbordan o aparece #¡REF!y por lo tanto no me da el mismo resultado que a usted sería posible reconfigurar sus formulas para adaptarlas a la forma como puedo separar los datos ..?? Adjunto el archivo modificado
-
Exacto eso es el resultado que busco. En la única pestaña del archivo (USUARIOS & PRIVILEGIOS) hay una pequeña tabla que es el rango de búsqueda 'USUARIOS & PRIVILEGIOS'!$BS27:BS56 como la que se muestra en la Imagen adjunta de todos modos adjunto el archivo nuevamente HHE PRUEBA.xlsm
-
Saludos @JSDJSD espero estes bien haciendo el ejemplo visual que me pidió me percate que tenia un error en el planteamiento el cual procedo a corregir en este post, tengo dos casos en los cuales necesito que los TextBox vacios y llenos se cuenten de diferentes formas: Caso 1 (Imagen 01): Para los resultados de los TextBox 25, 27, 28 necesito que cuando los TextBox 16, 17, 18, 19, 20, 21, 22 estén llenos se cuenten como “1” (TextBox<>”” = 1) mientras que cuando los TextBox 16, 17, 18, 19, 20, 21, 22 estén vacíos se cuenten como “0” (TextBox =”” = 0) como si fuera la Función CONTAR de Excel finalmente los resultados deben mostrarse de manera automática y simultánea en los TexBox 25, 27, 28. TextBox25 = (TextBox16 +TextBox17+TextBox18+TextBox19+TextBox20+TextBox21+TextBox22) TextBox27 = (TextBox16 +TextBox17+TextBox18+TextBox19+TextBox20+TextBox21+TextBox22) TextBox28 = TextBox27 Caso 2 (Imagen 02): Para el resultado del TextBox 30 necesito que cuando los TextBox 21, 22 estén llenos se cuenten como “0” (TextBox<>”” = 0) mientras cuando que los TextBox 21, 22 estén vacíos se cuenten como “1” (TextBox =”” = 1) como si fuera la Función CONTAR.BLANCO de Excel finalmente el resultado debe mostrarse de manera automática y simultánea en el TextBox30. TextBox30 = (TextBox21+TextBox22) Por último, el TextBox29 pasa a a asumir un valor fijo = 2 (TextBox29 = 2) Entre tanto con esta fórmula: SUMPRODUCT(('USUARIOS & PRIVILEGIOS'!$BS27:BS56>=EOMONTH(TODAY(),-1)+1)*('USUARIOS & PRIVILEGIOS'!$BS27:BS56<=EOMONTH(TODAY(),0))) Necesito que se ejecute de manera automática en la macro que corresponda y que el valor resultante se refleje en el TextBox31 HHE PRUEBA.xlsm
-
Saludos @Oscar_MRF espero estes bien Resultó el detalle de la ubicación de los resultados aún persiste el detalle de que cuando agrego datos en la Columna “U” y la Columana “AU” de lHoja MATRIZ no funciona dinámicamente sino que muestra de inmediato #¿NOMBRE? En las Celdas donde se ejecuta la fórmula coloque un par de fechas en U3 y U4 y un código en AU3 para que visualice mejor lo que le comento N° DE DIAS (SOLUCION).xlsm
-
Buenas noches estimados espero estén bien Dentro del Formulario VTL (frmvtl) estan los TextBox 16, 17, 18, 19, 20, 21, 22 los cuales necesito que cuando contengan un valor cualquiera la macro los tome como 1 (TextBox<>””=1) y cuando los TextBox estén vacíos la macro los tome como 0 (TextBox=””=0) seria como usar la Función Contar de Excel, siendo así y conforme al funcionamiento de la Macro Calculo en el TextBox23 en la medida que se van introduciendo los datos el conteo o suma debe reflejarse de manera automática y simultánea en los Textbox 25, 27, 28, 29, de la siguiente manera: TextBox25 = TextBox16 +TextBox17+TextBox18+TextBox19+TextBox20+TextBox21+TextBox22 TextBox27 = TextBox16 +TextBox17+TextBox18+TextBox19+TextBox20+TextBox21+TextBox22 TextBox28 = TextBox27 TextBox29 = TextBox21+TextBox22 Por último, necesito que el resultado de la siguiente formula: SUMPRODUCT(('USUARIOS & PRIVILEGIOS'!$BS27:BS56>=EOMONTH(TODAY(),-1)+1)*('USUARIOS & PRIVILEGIOS'!$BS27:BS56<=EOMONTH(TODAY(),0))) Se refleje en el TextBox31 está formula ya la he utilizado en otras partes de mi proyecto dentro de un Funcion Select Case en conjunto con la Función Evaluate pero en este caso que es una única fórmula no sé cómo hacerla funcionar, el resultado esperado para el mes de Octubre es TextBox31 = 1 HHE PRUEBA.xlsm
-
Saludos @Oscar_MRF espero estes bien, su solución funciona excelentemente bien, pero como nunca antes habia trabajado con la función LET tengo algunas interrogantes. La Columna “U” y la Columana “AU” pertenecen a una MATRIZ que se alimenta periódicamente por lo que su contenido siempre va en aumento razón por la cual al intentar agregar datos y/o manipular su ubicación me percate que la formula no funciona dinámicamente sino que muestra de inmediato #¿NOMBRE? en las Celdas “C3” y “C5” mientras que las Celdas “D3”, “D5”, “E3”, “E5” se muestran en blanco por lo que necesito que en la medida que la MATRIZ valla creciendo la formula pueda procesar los nuevos datos y actualizar la información automáticamente. La Hoja2 (CARTELERA) es un resumen de diversos indicadores que por razones legales debo imprimir y publicar periódicamente razón por la cual los datos deben aparecer en celdas específicas de allí que necesito que las Fechas “DESDE” (“AF20”, “AO20”), “HASTA” (“AF22”, “AO22”) y el Récord en Días (“AF15”, “AO15”) aparezcan en las celdas anteriormente especificadas de la Hoja2 (CARTELERA) para poder publicar toda la información de forma ordenada y entendible.
-
Saludos @torquemada y @Israel Cassales espero estén bien, tengo una serie de fechas en la Columna “U” de la Hoja3 (MATRIZ) que representan la cantidad de días entre dos eventos determinados dichas fechas necesito que se evalúen, ordenen y filtren por pares de fechas desde el par más antiguo hasta el más reciente para aquellos casos en que la Columna “AU” de la Hoja3 (MATRIZ) cumpla con los siguientes criterios AU<>"" y AU="", en concreto requiero que mediante los criterios antes mencionados se evalúen, ordenen y filtren por separado cuál de los pares de fechas posee mayor cantidad de días entre las dos fechas para lo cual he intentado con las siguientes formulas: INDICE(ORDENAR(FILTRAR(MATRIZ!$U$2:$U$3018;MATRIZ!$AU$2:$AU$3018="");;1);1) INDICE(ORDENAR(FILTRAR(MATRIZ!$U$2:$U$3018;MATRIZ!$AU$2:$AU$3018="");;1);2) INDICE(ORDENAR(FILTRAR(MATRIZ!$U$2:$U$3018;MATRIZ!$AU$2:$AU$3018<>"");;1);1) INDICE(ORDENAR(FILTRAR(MATRIZ!$U$2:$U$3018;MATRIZ!$AU$2:$AU$3018<>"");;1);2) Como se puede observar en la Hoja3 (MATRIZ) hay un total de 18 fechas individuales repartidas desde la Celda “U3” hasta la Celda “U20” de la Hoja3, con los datos actuales las fórmulas deberían evaluar, ordenar y filtrar aquellos eventos correspondientes AU=””, obteniendo como resultado un conjunto de 14 pares de fechas, mientras que para aquellos eventos correspondientes AU<>”” se deberían obtener como resultado un conjunto de (02 pares) de fechas, las fórmulas deberían evaluar individualmente la cantidad especifica de días correspondiente a cada par de fechas seleccionando el par de fechas con mayor cantidad de días en consecuencia el par de fechas con el valor más alto cuando AU=”” es 147 Días del 07/07/2023 al 01/12/2023 y cuando AU<>”” es 432 Días del 23/02/2023 al 30/04/2023 Sin embargo, en los dos casos contemplados AU=”” y AU<>”” las fórmulas solo evalúan, ordenan y filtran el primer par de fechas de cada criterio mostrando como resultado en la Hoja65 (CARTELERA) como el par de fechas con el valor más alto cuando AU=”” es 28 Días del 01/01/2023 al 29/01/2023 y cuando AU<>”” es 37 Días del 17/01/2023 al 23/02/2023 ¿Podrían ayudarme hacer funcionales estas formulas? Mucho les sabre agradecer la ayuda que me puedan dar. N° DE DIAS PRUEBA.xlsm
-
Saludos Sr @Antoni gracias por atender mi solicitud Hasta ahora funciona conforme a lo esperado
-
Buenas tardes amigos espero estén bien Modifique el frmcalendario para que solamente muestre los días Lunes de cada semana, bajo su configuración original resalta diariamente el fondo de los Label sin embargo necesito que resalte exclusivamente los Label (lb1, lb8, lb15, lb22, lb29, lb36) que correspondan al día Lunes de la semana que este en curso y por lo tanto el resaltado del Label en vez de cambiar a diario se haga semanalmente es decir, si hoy es Lunes 7 de Octubre se debería resaltar durante toda la Semana N° 41 el lb8 y el próximo lunes 14 se debería resaltar durante toda la Semana N° 42 el lb15 y asi sucesivamente. CALENDARIO PRUEBA.xlsm
-
Funciona exelente gracias por su ayuda
-
Saludos Sr @torquemada espero este bien Hice los cálculos cálculos manuales y compare los resultados con los de su fórmula y la misma funciona exelente mente bien, solo quedaría un detalle final para hacerla perfecta ¿hay una fórmula más corta y eficiente que me permita conseguir el día inicial pero del mes anterior la cual pueda anidar en $D$6..? Actualmente utilizo esta: FIN.MES(FECHA.MES(FIN.MES(HOY();-1);0)-1)+1 Mil gracias por su ayuda. PD: NTT significa Número Total de Trabajadores.
-
Buenos noches amigos espero estén bien necesito descomponer una fecha en varios ítems y que estas porciones de fecha se reflejen en otros TextBox en concreto dependiendo de la fecha que se coloque en el TextBox4 necesito que: • Del Textbox9 al Textbox15 (Lunes a Domingo) deben reflejar de forma consecutiva el número (dd) del día correspondiente tomando como fecha inicial al Textbox5 • El Label17 debe estar concatenado con el Textbox6 FECHA EN VARIOS ÍTEMS PRUEBA.xlsm
-
Saludos @Israel Cassales espero este bien en función del siguiente post: https://ayudaexcel.com/foro/index.php?/topic/47637-contar-días-feriados-que-no-coincidan-con-sábados-y-domingos/&do=findComment&comment=265713 Del cual usted le dio excelente respuesta tome los elementos que tenía a disposición en la fórmula que usted modifico que me permitieran hacer funcional la siguiente fórmula HHE = (TDL * 8 * NTT) en la cual al Número de Días del Mes el componente TDL: • Debe restar todos los días feriados del mes que se encuentren entre lunes y viernes • Debe restar todos los sábados y domingos del mes • No debe restar los días feriados del mes que coincidan con sábados o domingos: si un día feriado coincide con un sábado o domingo solo debe ejecutar la operación descrita en el punto anterior • Debe tomar al rango 'USUARIOS & PRIVILEGIOS'!$N$5:$N$34 para determinar los días feriados Al intentar hacer funcionales estos parámetros obtuve como resultado este pequeño y “suertudamente funcional” Frankenstein: ((DIA(FIN.MES(HOY();0))-(((DIAS.LAB.INTL((FIN.MES(FECHA.MES(FIN.MES(HOY();0);0);-1)+1)+1;FECHA.MES(FIN.MES(HOY();0);0);"0000011")-DIA(FIN.MES(HOY();0)))*-1)+SUMAPRODUCTO((DIASEM(MES(HOY());2)<6)*1)))*8)*$D$12 En concreto mi consulta es para que se valide lo que hice o si hay una forma de mejorar (que de seguro la hay) y modificar la fórmula de forma tal de hacerla más corta y funcional por lo cual cualquier modificación cumplir con los parámetros ya descritos. RESTAR DIAS FORMULAS PRUEBA.xlsm
-
Contar Días Feriados que no Coincidan con Sábados y Domingos
tema contestó a jues en jues Fórmulas y funciones
Saludos @Israel Cassales y @Victor7 Me percate que ago está fallando en mi Office y probé en otra máquina y no se da el erro NUM! que les indique por lo que la solución nicial de @Israel Cassales si era correcta muchísimas gracias. -
Contar Días Feriados que no Coincidan con Sábados y Domingos
tema contestó a jues en jues Fórmulas y funciones
Saludos @Israel Cassales y @Victor7 Comenzare por donde debí comenzar por el principio…. Sr @Victor7 esta fórmula la extraigo de una norma técnica de acá de mi país que sirve para calculas las Horas Trabajadas por lo que no hay margen para cambiar cosas ya que como tal esta concebida en base a 365 días ya que para su fin último los decimales que aporta un año bisiesto son despreciables de este modo el enunciado de la norma anterior decía: a. Restando 52 sábados, 52 domingos y 10 días feriados a los 365 días del año. b. El resultado, 251 días, se multiplica por 8 horas, y este resultado a la vez se divide entre 365 De lo anterior se obtiene que el número de horas trabajadas por día calendario es 5,50 horas, el cual, multiplicado por los días del mes, genera los factores en referencia. De allí que los días del mes los obtengo mediante DIA((FIN.MES(HOY();0 (((((365-(104+CONTAR(D5:D25)))*8)/365)*DIA((FIN.MES(HOY();0)))*C5)) Ahora bien, esa norma técnica cambio e introdujo una variación en su enunciado que es el motivo de mi consulta, la actual norma dice: a. Restando sábados, domingos y días feriados nacionales que no coincidan con sábados o domingo a los 365 días del año. b. El resultado se multiplica por 8 horas, y este resultado a la vez se divide entre 365. De lo anterior se obtiene que el número de horas trabajadas por día calendario, será aproximadamente 5,50 horas, el cual, multiplicado por los días del mes, genera los factores en referencia. (((((365-(104+CONTAR(K5:K25) ≠ Sáb y Dom))*8)/365)*DIA((FIN.MES(HOY();0)))*J5)) @Israel Cassales lo que me indica que no entendió que habia en “B22” fue un error de transcripción de mi parte y lo que correspondía realmente era “C5” para el primer cuadro y “J5” para el segundo, por último al correr la fórmula que usted modifico luego de cambiar las comas por punto y coma me indica que hay un error #¡NUM! FORMULA.xlsx -
Contar Días Feriados que no Coincidan con Sábados y Domingos
un tema añadido jues en Fórmulas y funciones
Con la fórmula con la que venía trabajando: • (((((365-(104+CONTAR(D5:D25)))*8)/365)*DIA((FIN.MES(HOY();0)))*C5)) No tenia ningún tipo de inconvenientes ya que la cantidad de días feriados (21) era constante y me permitía dinámica y automáticamente obtener el resultado deseado mes a mes ajustando solamente la Cantidad (C5). Sin embargo, ahora la norma de la que obtengo la fórmula cambio y esta disponiendo que del total de días feriados solo se contaran aquellos que no coincidan con sábados y domingos: • (((((365-(104+CONTAR(K5:K25) ≠ Sáb y Dom)))*8)/365)*DIA((FIN.MES(HOY();0)))*B22)) Por lo cual a efectos prácticos necesito que la nueva fórmula de manera dinámica y automática pueda Buscar, Filtrar y Contar entre los 21 días feriados existentes en el rango de datos K5:K25 los 17 días feriados que no coinciden con los sábados y domingos del año 2024 y por lo tanto al igual que con la fórmula original me permita de manera dinámica y automática obtener el resultado esperado mes a mes ajustando solamente la Cantidad (J5). FORMULA.xlsx -
Buenas noches @JSDJSD espero estes bien, tengo un caso similar al que se planteó en el siguiente hilo https://ayudaexcel.com/foro/index.php?/topic/43761-filtrar-listbox-utilizando-un-combo-box-dinámico/ he intentado modificar el formulario RPAT (frmrpat) para que se adapte a mis necesidades sin embargo no logro resolver los siguientes detalles: 1. Al igual que el compañero que pregunto en el hilo que comente anteriormente también copie y adapte de un tutorial de YouTube la siguiente macro: Private Sub CmdBUSCAR_Click() Dim UFILA As Integer If Me.TextBox11 = "" Then MsgBox "Ingrese el Número de Cédula", vbExclamation End If Exit Sub UFILA = Sheets("MATRIZ").Range("B" & Rows.Count).End(xlUp).Row Me.ListBox1.RowSource = Clear For Fila = 2 To UFILA If UCase(Range("B" & Fila).Value) Like "*" & UCase(Me.TextBox11.Value) & "*" Then Me.ListBox1.AddItem Me.ListBox1.List(ListBox1.ListCount - 1, 0) = Cells(Fila, 2) Me.ListBox1.List(ListBox1.ListCount - 1, 19) = Cells(Fila, 21) Me.ListBox1.List(ListBox1.ListCount - 1, 23) = Cells(Fila, 25) Me.ListBox1.List(ListBox1.ListCount - 1, 24) = Cells(Fila, 26) Me.ListBox1.List(ListBox1.ListCount - 1, 45) = Cells(Fila, 47) End If Next Fila Me.TextBox11.Value = Empty Me.TextBox11.SetFocus End Sub para que busque los casos por el número cédula y muestre los resultados en ListBox1 sin embargo a pesar que en el tutorial solo se declara una sola variable (UFILA) cuando hago intento hacer funcionar la macro bajo esos mismos términos aparecen unas alertas indicándome que declare las variables Clear y Fila sin embargo al hacerlo no efectúa ninguna clase de búsqueda y en el en ListBox1 aparecen la totalidad de los casos presentes en la Hoja3 (MATRIZ). 2. Adicional a la búsqueda por número de cédula (TextBox11) he añadido el Combobox1 el cual posee dos opciones: Accidente de Trabajado o Enfermedad Ocupacional de modo tal que una vez efectuada la búsqueda se reflejen en el ListBox1 los casos filtrados que cumplan exclusivamente con esas dos condiciones (TextBox11 + Combobox1) 3. Sin embargo, a diferencia del hilo citado creo que combinar el Combobox1 es donde está la dificultad de mi planteamiento ya que las opciones Accidente de Trabajado y Enfermedad Ocupacional que aparecen en el Combobox1 no tienen una referencia homónima dentro de la Hoja3 (MATRIZ) y en consecuencia tampoco en el ListBox1 sino que los mismos se reflejan o interpretan como Celdas o Espacios Vacíos = Accidente de Trabajado y/o Celdas o Espacios Llenos = Enfermedad Ocupacional: • Accidente de Trabajado = Hoja3 (MATRIZ) Columna AU=”” y ListBox1 Columna 46=”” • Enfermedad Ocupacional = Hoja3 (MATRIZ) Columna AU<>”” y ListBox1 Columna 46<>”” 4. Cuando el Combobox1=”” el ListBox1 debería reflejar la totalidad de los casos presentes en la Hoja3 (MATRIZ). PRUEBA - copia.xlsm