Saltar al contenido

Héctor Miguel

Miembros
  • Contador de contenido

    1151
  • Unido

  • Última visita

  • Days Won

    40

Sobre Héctor Miguel

  • Rango
    Miembro

Configuraciones

  • Campo que utilizas como separador de argumentos ,

Visitantes recientes del perfil

1916 visitas de perfil
  1. Héctor Miguel

    Error funcion iif en sentencia sql

    en VBA para representar un par de comillas dobles ( "" ) en una instrucción delimitada por comillas dobles, es necesario utilizar DOS pares de comillas dobles ( """" ), y según otras circunstancias, puede que se requiera de más de dos (?) por si fuera de utilidad: IIF es lo mismo que CASE WHEN <condición> THEN <parte si verdadero> ELSE <parte si falso> END CASE es utilizable para todas las plataformas SQL pero IIF es especifico para SQL SERVER 2012+ fuente: Logical Functions - IIF (Transact-SQL) saludos, hector.
  2. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    en el último procedimiento del modulo "sinGrupos" > Private Sub ajustaFormulas() en el medio de las últimas dos líneas (Next y End Sub) => agrega lo siguiente: n = WorksheetFunction.Max(Evaluate("transpose(if(" & k & "=""vienen"",row(" & k & ")))")) With Range("h" & g + 1) .Value = "TOTAL:" .Offset(, 1).Resize(, 2).Formula = "=sum(" & Range("i" & n).Address(0, 0) & ":" & Range("i" & g).Address(0, 0) & ")" End With prueba y comentas ? saludos, hector.
  3. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    el enlace al archivo no funciona (igual que el anterior) te refieres al modelo que contiene (sub)divisiones por cuenta ?, o al que tiene todos los registros "de corrido" ? saludos, hector.
  4. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    no entiendo (?)... quieres que en la última hoja de corte aparezca un "total-total" que considere solo el "vienen" de la última hoja ?, o quieres una sumatoria de todas las cuentas (desde la primer hoja de corte) ? saludos, hector.
  5. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    en el procedimiento "formulasCortesVAN" hay un grupo dentro del "Select ... End Select" el grupo es: Case "saldo anterior:" el siguiente grupo es: Case "movimiento del mes:", "saldo total:", "" DOS lineas previas hay una instrucción: => .Offset(, 2).Resize(, 2).Formula = "=sum(" & b & ")" (seguida de un End If) modifica el primer 2 (dos) por 1 (uno): => .Offset(, 1).Resize(, 2).Formula = "=sum(" & b & ")" saludos, hector.
  6. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    resulta que sí encontré (posibles y varias pero no creo que todas) situaciones que necesitan ser cuidadosamente tratadas, considerando que cada "grupo" de registros/cuentas va delimitado al final por 4 conceptos (saldo anterior > movimiento del mes > saldo actual > saldo total) la propuesta es resolver la separación del reporte con 6 procedimientos llamados en secuencia (desarrollados por separado para su análisis y comprensión) como lo son: cazaFantasmas: encontré en algunas hojas-mes que hay "grupos" (los 4 conceptos) que NO traen registros previos, para evitar que estorben se eliminan antes de cualquier otro proceso modificaSumas: el concepto "saldo actual" va precedido de "movimiento del mes" cuya sumatoria se interrumpe por el concepto "saldo anterior", se cambia la función SUMA por si algún corte la interrumpe preparaFase1: es la inserción de los cortes (van y vienen) y en el medio las filas de los encabezados (primer grupo para fácil inserción en el resto de separaciones) insertaFilas: es la inserción en cada corte para las primeras 11 filas de encabezados de cada "siguiente página" formulasCortesVAN: para identificar cuales son los conceptos que se cortan por la inserción de la suma de la hoja (el corte por VAN) formulasMovMes: el ajuste final de la suma para el concepto de "movimiento del mes" este último procedimiento NO ajusta el "primer corte" (los 4 conceptos del primer grupo) porque las celdas "combinadas" de los encabezados ESTORBAN (y no quise alargar más los procedimientos) como dije, no creo haber podido "simular" toda (posible) eventualidad de "donde cae" un corte y que conceptos o registros "separa" (?) el siguiente paso es que comentes las fallas que encuentres (y que situación las causa) para adaptar y encontrar la forma de adelgazar/agilizar los procedimientos (?) mismo proceso de los anteriores (.zip > .bas > etc.) saludos, hector. ajustaCortesV3.zip
  7. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    la primera parte es una eventualidad que esperaba no se presentaría y tiene otra situación a prevenir/corregir con las fórmulas que ya pusiste en el concepto de "movimiento del mes" en algunos casos (estoy en ello, si no se adelanta algún participante) la segunda parte va la propuesta en el adjunto (mismo procedimiento: .zip > .bas > etc.) saludos, hector. sinGrupos.zip
  8. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    sigue el mismo procedimiento indicado en el mensaje del adjunto anterior (.zip > .bas > etc.) el (nuevo) código lleva comentada cada línea que deja de operar e inmediato después la línea que si funciona (por si quieres analizar los cambios) comentarios: - estos procedimientos están diseñados para "comenzar desde cero" (los reportes SIN inserciones "a medias" de cabeceras) - hacer adaptaciones para determinar hasta donde has hecho inserciones en avanzada sería más laborioso que ingenioso, por lo tanto... - los meses que tienes "medio" avanzados (mar-nov 2012 y parcial dic 2012) tendrías que "regresarlos a su estado original" saludos, hector. ajustaCortesV2.zip agrego: (dicho sea "de paso")... tu adjunto se redujo de 10MB a 6MB por virtud de filas y columnas que no contenían datos (probablemente formatos y/o contenidos borrados ?)
  9. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    si confirmas que con la muestra pequeña si funciona pero no con la lista grande (?) sube una muestra (real) en algún sitio de hospedaje gratuito (onedrive, googledrive, etc.) y publica el vínculo para su descarga en tu próximo mensaje saludos, hector.
  10. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    con los datos de tu segundo adjunto, el código probado (me) ha devuelto un arreglo igual a la muestra que esperas obtener, incluyendo ajustes en algunas fórmulas intermedias - descarga el adjunto (*.zip), lo descomprimes, y obtienes un *.bas - ese *.bas lo IMPORTAS a tu archivo de excel desde el editor de VBA (archivo > importar archivo...) - analiza los códigos, regresa a la interfaz de hoja de cálculo y ejecuta la macro sobra recomendar que hagas pruebas sobre una copia de tus datos reales (por si las dudas ?) prueba primero con el modelo de tu segundo adjunto y después con la hoja de las 8000 filas, ya que es muy probable que (en la realidad) se presenten casos que no pudieron ser analizados en tan corto ejemplo (espero que los menos ?), ya comentarás... saludos, hector. ajustaCortes.zip
  11. Héctor Miguel

    Insertar cabecera en cada rango a imprimir

    1) tu requerimiento (parece que) NO ES "tan sencillo como lo pintas", se trata de varios "grupos" con un (in)cierto número de registros que se identifican al final por 4 conceptos en la columna "E": - saldo anterior > movimiento del mes > saldo actual > salto total 2) a cada "corte" (de 104 filas) se agregan: - 2 filas con el "van" - 6 filas con las cabeceras - 3 filas para el "vienen" 3) estas inserciones NO SIEMPRE van a ocurrir en el lugar "más apropiado" para NO afectar las fórmulas de los registros del punto 1 anterior (resulta obvio, no ?) 4) por lo mismo, sería conveniente que incluyas en tu ejemplo (al menos) 5 "cortes de página" donde se incluyan (al menos) 2 situaciones como las descritas - (esto para "ver" cómo exactamente estás resolviendo algún "corte incómodo" por las razones expuestas ?) saludos, hector.
  12. hay un detalle con las funciones CONTAR.SI(... SUMAR.SI(... y es que cuando se trata de textos que pueden ser interpretados como valores numéricos omiten ceros a la izquierda (al igual que cualquier operación aritmética en excel) lo que se puede solucionar directamente con la función sumaproducto (sin juegos adicionales) p.ej. =sumaprducto(0+(a$1:a$4=a1)) saludos, hector.
  13. Héctor Miguel

    Metodo para cuenta corriente

    no descargué tu archivo de ejemplo pero (creo que) te será de utilidad analizar lo propuesto a esta consulta: Hipervinculos saludos, hector.
  14. Héctor Miguel

    CONTAR.SI en power query

    no se si @hernanmrx (en sus visitas posteriores) ha perdido el interés por su consulta (o se considera satisfecho) ? adjunto versión 2 con la sugerencia de TD y agregando: - una hoja con fórmulas y funciones (requiere más trabajo manual) - otra hoja con PowerQuery -solo hasta el equivalente de CONTAR.SI(...- - -- lleva funciones personalizadas (CSI para contar.si y CSIV para contar.si.conjunto) la disyuntiva de contar.si.conjunto es cómo presentar el resultado final (como lista ? o como tabla/cuadro ?) (cada alternativa conlleva pasos diferentes) (dejo pendiente la versión de macros) los entusiastas de las "B.I." sabrán de los pros y contras de cada versión saludos, hector. Contar en PQ.xlsx
  15. es de suponer que estás probando sobre una copia de tu archivo (o cuentas con un respaldo "por si las dudas" ?) 1) este tipo de "cirugías" se aprecia cuando guardas > cierras > (RE)abres el archivo 2) si la lentitud sigue en su apogeo (probablemente) la causa viene de otras circunstancias 3) no es sencillo suponer (y acertar) sin contar con un modelo (+/- exactamente) "igual al tuyo" (?) saludos, hector.
×

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.