Saltar al contenido

Héctor Miguel

Exceler C
  • Unido

  • Última visita

  1. hay una alternativa mas 'barata' (usando si'es logicos) asumiendo la entrada de horas en [A7] =(a7>=5)+(a7>=13)+(a7>=21) pros: - no usa funciones (rendimiento optimo) - funciona en cualquier version de excel cons: - le ves alguna contra ?
  2. prueba con el adjunto 3en1 (ayudaExcel).xlsx
  3. en la muestra de tu adjunto se cumplen las 3 condiciones en los datos superiores (PERO...) te falto indicar el resultado (correcto, a mano) que esperas (segun ingreses en [D11]) en el resumen inferior (en la celda [E11]) ? y algun ejemplo donde NO se cumplan las 3 condiciones (en los datos superiores)
  4. (parece que) ya pasaste de nuevo por tu consulta, asi que, en tanto te decides a soltar mas detales... como tus datos fueron insuficientes... analiza la muestra del adjunto (m365) 1) en las columnas A,B y C los datos donde buscar los valores (si estan en otro libro, cambia las referencias en la primera matriz en las columnas E,F y G) 2) en [E1] indicas el importe a buscar y en [E2] el '%' de tolerancia (+/-), los encontrados se derraman en la matriz [E4#] 3) en [I1] puedes elegir el monto filtrado que consideres mas apropiado (lista tomada de [E4#]), [I2] indica si hay mas de uno 4) en la segunda matriz [I5#] se listan los (RE)filtrados (OJO: que pudiera haber todavia mas de uno) 5) si hubiera mas de uno, la celda [M2] es para elegir de cual de ellos se rescatan los datos (mostrado en [M5]) puede ser que sobren pasos, filtros, etc, pero la falta de detalles es terreno fertil para una imaginacion generosa selecciona tolerancia en lista (ayudaExcel).xlsx
  5. para agilizar propuestas, te sugiero que proveas estos datos en tu siguiente mensaje: 1) el importe que 'ya tienes' (al que refieres en tu formula) 2) la celda donde necesitas el resultado (y la formula exacta con que lo intentas) 3) una imagen (reducida) de los datos en 'el otro libro' (rangos, arreglo, tipo de datos, ...) 4) el resultado que esperas como correcto (y donde se ubica en la imagen que adjuntes)
  6. no se si las macros son un requisito (?), en todo caso, prueba con la muestra del adjunto pares y nones (ayudaExcel).xlsx
  7. el comportamiento que describes se ha reportado desde hace varios años y en toda version de excel, algunas (posibles) causas... - el complemento PDFMaker (y muy probablemente otros) - cerrar un libro con un UserForm 'cargado' en memoria (aunque no este visible) - hacer consultas (SQL) al mismo libro (segun version de creacion) - crear instancias de excel > abrir libros para consultar > y cerrar con su ventana oculta - definir y asignar variables de objeto y NO 'terminar/destruir' al final de los procesos
  8. el tema tiene su grado de complejidad por lo siguiente: 1) la propiedad que intentas (.interior.colorindex) no detecta formatos condicionales 2) la propiedad .displayformat (xl-2010+) no se puede usar (directamente) en UDF's llamadas desde celdas 3) por lo mismo es la 'vuelta de tuerca' por procedimiento 'auxiliar' y el metodo 'evaluate' finalmente, no me hables 'de usted', hablame de (us)TU 🫡
  9. hola, a todos ! analiza el adjunto, es una copia de tu muestra (sorry, le depure algunos abusos) (datos ocultos, referencia a celdas 'alla donde se devuelve el aire', celdas combinadas [no sabes en la que te metes], etc.) ya lo repondras si son imprescindibles ? al final de cuentas, lo que te interesa es una UDF funcionando en la columna "N" lo importante son los codigos (en el modulo de 'la hoja' y el modulo general con la/s UDF's) condicion color (ayudaExcel).xlsb
  10. alguna relacion con tus consultas 'alla' ? Formato condicional que no modifique formatos anteriores Seleccionar Checkbox para toma de decisiones (donde cambiaste de checkbox a lista desplegable por validacion)
  11. puedes compartir el codigo que te sugirio copilot ? prueba (en excel) a guardar tu libro como binario (*.xlsb), al menos, google-calc no puede abrir ese tipo de archivos (lo que obligaria al usuario a usar excel) pero falta comprobar que pasa si ese *.xlsb se abre con numbers u otra aplicacion de hojas de calculo (?), ante lo cual... (ya veriamos de dar algunas 'vueltas de tuerca' ?)
  12. por si te sirve: la primera matriz (pivotarpor) al inicio los que no tienen profesor asignado (orden ascendente por omision) la segunda (2 matrices y solo unicos) en el orden de aparicion (no asignados al final) la tercera (2 matrices) omite los no asignados (tambien por orden de aparicion) unicos y suma (ayudaExcel).xlsx
  13. (creo que) no estas contando 'toda la historia' (y te haces trampas tu solo), me explico: (de tu codigo inicial) del libro 'base ... producido.xlsx' 1) cuando consultas la hoja 'mezcla adicion' - que uso das a (o para que sirve) la variable 'Cal5' ??? - solo le asignas un valor pero jamas vuelve a aparecer en el codigo 2) cuando consultas la hoja 'caliza adicion' - por que recorres las filas 371 a 736 (son 366 ciclos -probablemente- innecesarios) ??? - de donde se 'construye' la variable 'fecha' para comparar la columna "A" ??? - hay alguna situacion especial para evaluar SOLO el 'molino 4' ??? 3) por que tanto 'switcheo' entre las variables 'Cal1 a Cal5' para determinar 'caliza' ??? si tienes mas 'detalles en el tintero' ? (es buen momento para comentarlos -todos ?-) sugerencia: decide en cual foro quieres continuar esta consulta o pon un link en cada foro a tu consulta en el otro
  14. lo mismo que te sugeri 'alla'... te dejo tres observaciones 'esencialmente basicas' que estas omitiendo en el codigo que expones: 1ª vba NO es (como) vb 'stand-alone', vba requiere asignar el tipo a cada variable declarada (por lo tanto)... - de tu primera instruccion: Dim sh1, jh2, jh3, jh4, jh5, jh6 As Worksheet SOLO la ultima variable (jh6) es de tipo 'worksheet', las demas 'asumen' Variant (por omision) 2ª a la primera variable (sh1) tampoco le asignaste una referencia - ANTES de la instruccion: If sh1.CheckBox1.Value = True Then DEBES vincular el 'checkbox' con 'su hoja' (que asumo es...) la hoja activa del libro activo ? - agrega una instruccion ± asi: Set sh1 = ActiveSheet 3ª tienes otras variables NO asignadas (y alguna/s del tipo incorrecto) por el resto... la pelota se queda en tu cancha (es un codigo muy 'saltimbanqui') ?
  15. tu codigo es muy 'danzarin' y lo (unico ?) que hace es agregar saltos de pagina segun condiciones, pero en ningun lado aparece la instruccion de imprimir (?) si tu intencion es que se imprima (solo) la ultima pagina ?, al final de tu procedimiento de insertar saltos (ANTES del 'End Sub' ) agrega esta linea: ActiveSheet.PrintOut ExecuteExcel4Macro("get.document(50)")