Saltar al contenido

jues

Miembro
  • Contador de contenido

    65
  • Unido

  • Última visita

  • País

    Venezuela

Todo se publica por jues

  1. 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
  2. Funciona exelente gracias por su ayuda
  3. 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.
  4. 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
  5. 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
  6. 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.
  7. 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
  8. 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
  9. 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
  10. Saludos @JSDJSD espero estes bien comenzare por el funcionamiento y luego pasare a los cálculos y sus resultados y errores: 1. Al hacer click en la Celda F9 (Marca y Modelo) se despliega una lista de equipos a utilizar, al escoger alguno de ellos aparece automáticamente en la Celda “F10” la Capacidad de Trabajo y en las Columnas “H” y “R” el Estándar de Masa y de Longitud con las que opera el equipo. 2. Teniendo los datos anteriores al hacer click en la Celda F11 se despliega el Formulario Convertidor (frmconv) en el cual vendrán tildados por defecto el Opt2, Opt8, Opt11, Opt14, Opt17, Opt20 y Opt23 (Tn) o el Opt3, Opt6, Opt9. Opt12, Opt15, Opt18, Opt21, Opt24 (Lb) dependiendo del equipo que se haya escogido en la Celda F9 (Marca y Modelo). a. ¿Se puede establecer una restricción para que el Formulario Convertidor (frmconv) se muestre si y solo si las Celdas F9, F10, P9, P10 y P11 estan llenas? 3. Para efectos de los cálculos se requiere todas las Unidades de Masa que no son propias del equipo (F23, F24, F28, F29, F30 y F32) sean convertidas al Estándar de Masa con el que opera el equipo razón por cual al venir tildada la opción Toneladas (Tn = Opt2, Opt8, Opt11, Opt14, Opt17, Opt20 y Opt23) o la opción Libras (Lb = Opt3, Opt6, Opt9. Opt12, Opt15, Opt18, Opt21, Opt24) es el indicativo a cuál Estándar de Masa serán convertidas las Unidades de Masa que no son propias del equipo. 4. Los datos de entrada se colocan en los TextBox 1, 3, 5, 7, 9 11 y 13 y una vez escogida las Unidades de Masa que se pretenden convertir al Estándar de Masa del Equipo los resultados son expresados en los TextBox 2, 4, 6, 8, 10, 12 y 14 los cuales solo podrán expresar tres cálculos por cada caso (Peso 01, Capacidad 01, Capacidad 02, Peso 02, Peso 03, Peso 04, Peso5) dependiendo del Estándar de Masa del Equipo, ejemplo para Peso 01: frmconv.TextBox2.Value = frmconv.TextBox1.Value * Estándar de Masa (Tn o Lb) a. Estándar de Masa en Toneladas (Tn): Convertir de Kg a Tn (Kg * 0.001 o Kg / 1000) Opt2 = True, Opt4 = True y Opt5 = False 20 Kg * 0,001 = 0,02 Tn Convertir de Lb a Tn (Lb * 0.0004535924) Opt2 = True, Opt5 = False y Opt6 = True 20 Lb * 0.0004535924 = 0,0090718474 Tn Convertir de Tn a Tn (Tn * 1 o Tn = Tn) Opt2 = True y Opt5 = True 20 Tn * 1 = 20 Tn b. Estándar de Masa en Libras (Lb): Convertir de Kg a Lb (Kg * 2.2046226218) Opt3 = True, Opt4 = True y Opt6 = False 20 Kg * 2.2046226218 = 44,092452437 Lb Convertir de Tn a Lb (Tn * 2204.6226218488) Opt3 = True, Opt5 = True y Opt6 = False 20 Tn * 2204.6226218488 = 44,092.452436976 Lb Convertir de Lb a Lb (Lb * 1 o Lb = Lb) Opt3 = True y Opt6 = True 20 Lb * 1 = 20 Lb 5. Cuando lo logro obtener el resultado correcto lo que se copia en la celda no se corresponde con el resultado obtenido originalmente en el Textbox del Formulario (frmconv) ejemplo al convertir 1900 Kg a Lb el resultado en el TextBox1 =4188,78298142 sin embargo al guardar el resultado lo que se copia en la Celda "F11" es 418.878.298.142,00, adicionalmente el resultado de la conversión no se visualiza inmediatamente por lo que debo de hacer click en los TextBox 2, 4, 6, 8, 10, 12 y 14 para visualizar el resultado en el Formulario (frmconv)
  11. Saludos amigos espero estén bien Estoy intentando hacer un formulario que me convierta unidades de masa sin embargo en el mejor de los casos solo he podido lograr la conversión de una unidad a la vez en los TextBox 1, 3, 5, 7, 9, 11 y 13 y cuando lo logro el resultado que se copia en la celda no se corresponde con el obtenido originalmente en el Textbox del Formulario (frmconv) ejemplo al convertir 1900 Kg a Lb el resultado en el TextBox1 =4188,78298142 sin embargo al guardar el resultado lo que se copia en la Celda "F11" es 418.878.298.142,00, adicionalmente el resultado de la conversión no se visualiza inmediatamente por lo que debo de hacer click en los TextBox 1, 3, 5, 7, 9, 11 y 13 para ver el resultado. Mucho les sabre agradecer la ayuda que me puedan brindar. PRUEBA.xlsm
  12. Saludos @JasallBcn funciona excelente mil gracias
  13. Saludos amigos espero estén bien Necesito generar un código numérico de cinco (05) dígitos no aleatorio en la Celda "Q4"que valla precedido de dos letras ejemplo : AA - 00000, cuya numeración valla del 0000 al 9999 y cuando llegue al 9999 se reinicie automáticamente en 0000 debiendo actualizar la numeración cuando se haga click en el botón Limpiar Mucho les sabre agradecer la ayuda que me puedan brindar PRUEBA.xlsm
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.