Saltar al contenido

Héctor Miguel

Exceler C
  • Unido

  • Última visita

Todo se publica por Héctor Miguel

  1. (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
  2. 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)
  3. no se si las macros son un requisito (?), en todo caso, prueba con la muestra del adjunto pares y nones (ayudaExcel).xlsx
  4. 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
  5. 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 🫡
  6. 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
  7. 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)
  8. 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' ?)
  9. 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
  10. (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
  11. 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') ?
  12. 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)")
  13. cuando instalas (o RE-instales) office 2010, llegas a un paso donde puedes optar por otras herramientas, independientemente de que instales solo excel, asegurate de desplegar las opciones para vba y su ayuda, analiza la imagen
  14. prueba cambiando tu procedimiento actual por otro ± como este: Sub browseFilesByPattern(): Dim ruta As String, patron As String, tipo As String, archivo As String ' procedimiento para listar/obtener archivos de cierto patron en el nombre ' _ R&D: Héctor Miguel Orozco Díaz © ® ™ (junio de 2011) ' _ INCLUYE ESTO cuando lo reproduzcas (by GNU/GPL -Generic Public License-) ' _ => bajo cualquier ajuste, enmienda o personalizacion <= ' ruta = ThisWorkbook.Path patron = [c6] ' <= celda donde escribes 'parte' del nombre a filtrar ' tipo = "*.doc" ' <= este 'filtro' es importante !!! y depende del tipo de archivo a buscar (SOLO 3 caracteres) ' With Application.FileDialog(msoFileDialogFilePicker) .Title = "Selecciona UN archivo" .Filters.Add "Word Files", tipo & "?", 1 ' <= cambia "Word Files" por el tipo real que se busca ' .FilterIndex = 1: .AllowMultiSelect = False .InitialFileName = ruta & "\*" & patron & tipo If .Show Then archivo = .SelectedItems.Item(1) End With: End Sub analiza el codigo y... lo que hagas con la variable 'archivo'... ya depende de tus necesidades ?
  15. analiza tu adjunto en devolucion con funciones de matriz dinamica (m365), adapte (tambien) los 'unicos' por funciones m365 si alguna funcion no la tienes disponible, comenta, para buscar otros medios de solucion suma varia hojas (ayudaExcel).xlsx
  16. lo mismo que te puse "alla": 1) el evento '_SelectionChange' se dispara cada que se cambia la seleccion en la hoja (celda o rango) 2) el evento que se dispara cuando se cambia una entrada en celdas es '_Change' 3) el evento que se dispara cuando la celda 'actualiza' por efectos de formula es '_Calculate' 4) la propiedad '.FormulaR1C1' depende de la celda activa al momento de depositarla en celdas 5) ese desplazamiento de "R[3]C[1]" hace referencia a 3 filas abajo y 1 columna a la derecha de... 'la celda activa' 6) esa celda activa pudiera NO ser la que esperas (?) 7) en esa instruccion: 'Aux = ContarNPC(...' - que es 'ContarNPC(...' ?, una funcion personalizada ?, que toma y que devuelve ?
  17. (probable o seguramente) deberas mediar con la funcion FILTRAR(... publica (exacta y completa) la formula y forma en que usas la funcion UNICOS(...
  18. esto lo resuelves desde la interfaz de usuario, dialogo de 'buscar y reemplazar' selecciona las columnas "E:G" (o solo el rango de afectacion) primer reemplazo buscar: el punto => reemplazar: nada (vacio) segundo reemplazo a) si tu separador decimal es la coma ? buscar: la coma => reemplazar: la coma (otra vez) b si tu separador decimal es el punto ? buscar: la coma => reemplazar: el punto al final deberas aplicar el formato numerico de tu preferencia
  19. define "algunas" - sabes cuales ? - quieres una lista y de ahi eliges ? define "otro lugar" - algunas ubicaciones dependen del usuario en turno quisieras conservar las celdas donde hay formulas ? - OJO si hay vinculos a otras hojas y si prefieres una hoja por libro o todas en el mismo libro
  20. analiza tu muestra en devolucion con algunas funciones 365 a 'bote-pronto' (no se si dispones de todas, algunas o ninguna ?) que devuelven lo que pides la eventualidad que no se cubre son casos de salida y (RE)ingreso (tu muestra no los contempla ni se sabe cuantas veces pudieran presentarse) fecha estado (ayudaExcel).xlsx
  21. excelente truco, si tan solo se pudiera automatizar la cuenta de palabras (o espacios) en los apellidos 🤔 (creo que) seguirá quedando "a ojo de buen cubero" 🫡