Jump to content

Héctor Miguel

Members
  • Posts

    1,369
  • Joined

  • Last visited

  • Days Won

    57

Everything posted by Héctor Miguel

  1. prueba: =buscar(2;1/(r1:r7000="si");fila(r1:r7000))
  2. si entiendo bien, y estas usando el navegador chrome (?) cuando quieras cerrar todo chrome (después de las acciones de tus macros) usa una instrucción ± como esta: shell "taskkill /f /t /im chrome.exe" si lo que buscas es algo diferente, comentas los detalles del caso ?
  3. el detalle mas importante para llegar a buen puerto con tu proyecto es que debes dejar de pensar en el control webbrowser, mismo que YA NO da soporte para mostrar el contenido de archivos pdf y cambiar por un control activeX de adobe, mira por aqui: - Display PDF in Excel VBA UserForm al final hay un ejemplo con un webbrowser, pero... (insisto) ya dejo de funcionar 🤔
  4. agrego tercera forma n en rango-horario (ayudaExcel).xlsx
  5. no vi el uso de "mediana" (?) con los datos de tu modelo anterior (entrada y salida por separado) van dos formas de contar en un intervalo de tiempo (que puedes cambiar) la diferencia entre una u otra forma pudiera ser si cuenta la salida "dentro" del rango o solo si la salida excede el rango superior n en rango-horario (ayudaExcel).xlsx
  6. cambia tu macro por algo ± como esto: Sub selectPrinter() Dim activa As String, cambio activa = Application.ActivePrinter cambio = Application.Dialogs(xlDialogPrinterSetup).Show If cambio Then ActiveSheet.PrintOut Application.ActivePrinter = activa Else MsgBox "Impresion cancelada !!!" End If End Sub para tu segunda pregunta: no creo que puedas "administrar" el proceso de impresión por medio de msgbox'es (deja que la aplicación lo muestre por sus medios convencionales)
  7. si es "tarea de escuela" ?, lo que te conviene es estudiar las funciones aplicables: - Getting Coefficients Of Chart Trendline si necesitas de calculos mas avanzados... - Trendline Coefficients and Regression Analysis
  8. el "error" que mencionas asoma por las traducciones "automáticas", si lees el artículo en inglés no existe tal discrepancia, por eso mismo prefiero leer los artículos "originales" al fin de cuentas, todos los que he visto en español (en algún momento) han "tocado base" en el origen de los mismos (en inglés) 😉
  9. si quieres que sea el usuario quien dispare eventos al cambiar la hoja en cualquier libro, prueba desde módulos "de clase" con eventos a nivel de la aplicación lee, relee y vuelve a leer estos procedimientos: Events And Event Procedures In VBA
  10. te falto indicar de donde "salen" esos 13 (o sea, los 6 + 2 + 5) ??? y como se "construyen" los periodos en blanco entre cada grupo de días (???) y cualquier otro detalle "en el tintero" ? alguna razón "de peso" para no usar un gestor de proyectos "real" ?
  11. no se si esto funciona en mac (hace mucho que no lo uso) antes de mostrar el mensaje, agrega estas dos lineas: AppActivate Application.Caption DoEvents si no funciona, buscamos otras alternativas
  12. ese (pseudo) formato "numérico" aparece en cuanto el contenido de una celda excede los 255 caracteres (a partir del caracter 256)
  13. es probable que mac no lea todas las constantes por nombre, prueba a cambiarlas por su constante numerica: vbYesNo => 4 vbQuestion => 32 vbMsgBoxSetForeground => 65536 o incluso, algunos entornos toman "precedencia" sobre otros, prueba a cambiar de setforeground a: vbSystemModal => 4096
  14. mira por aqui: La función Leerdatocerrado no me lee información de planillas xlsm
  15. y OJO con esa instrucción de "application.visible = false" (por si cualquier error y de todas formas se cierra la aplicacion)
  16. si la maquinaria del foro no te permite adjuntar un libro por su tamaño, quizá no cualquiera "sienta deseos" de obtenerlo (?) cerrar un libro por falta de actividad, entendiendo "falta de actividad" el NO ingreso de datos o cambio de seleccion en celdas o rangos de cualquier hoja (?), esta resuelto en esta conversación: - monitor de actividad en libro PERO... si hay un userform de por medio (cargado en memoria, visible o no), te tienes que asegurar de (al menos) tres cosas: que el formulario REALICE acciones (como modificar valores en celdas o cambiar de seleccion en cualquiera de las hojas) "matar" el formulario ANTES de cerrar el libro => "Unload UserForm_X" (so pena de desestabilizar al excel) obviamente, saber cual formulario (o cuantos y cuales) esta/n presente/s en el entorno
  17. 1) comprueba/corrige la configuración de adobe para que permita ver los pdf en navegadores 2) abre una aplicación de IE => copia/pega en la barra de direcciones la ruta completa (incluyendo nombre y EXTension) de un *.pdf => si NO lo puedes ver en el navegador, tampoco lo podrás ver en el control (webbrowser) del formulario => comprueba/corrige las opciones de seguridad relacionadas con controles ActiveX 3) toma en cuenta que los *.pdf hace tiempo que fueron catalogados como "potencialmente dañinos" (razón por la que tienen restricciones en el IE)
  18. para la situación que necesitas resolver, le principal diferencia entre variables "Public" y "Static" es que: - Static solo se puede usar "dentro" de un procedimiento (Sub) por lo que su alcance (o vida) queda circunscrito al tiempo de ejecución del procedimiento y es visible solo para ese procedimiento - Public (por otro lado) declarado en un modulo estándar (área de declaraciones), pudiera conservar un alcance mayor, incluso llamadas entre procedimientos - puedes asignarle una matriz/array e inicializarla en el evento '_open' del ThisWorkbook (sin perder de vista que...) - esto NO te exime de que para cambiar el valor de algún elemento, debes ubicarlo (por índice o bucle) para cambiar el elemento a su "nuevo" valor mira por aquí: - Instrucción Static - Instrucción Public
  19. modelos como el de tu adjunto presentan detalles a consideración (p.ej.) 1) al abrir tu archivo y no hacer otra cosa que recalcular todo y actualizar la TD, los valores mostrados cambian totalmente (la razón ?) 2) en tu hoja de datos, las fechas en columna "A" son TEXTOS que simulan fechas (sabes como se tratan las fechas en excel ?) - la función FECHANUMERO(... toma el orden de fechas de la configuración regional del equipo - en tu caso coincide con el de los TEXTOS-fecha de la columna "A" (día/mes/año) - en mi caso, el orden de fechas es mes/día/año, por lo tanto, fechas con el día >12 YA NO son reconocidos como fecha - si estas completamente seguro que tu modelo se trabajara SOLO en equipos de configuración IGUAL a tu sistema ?... (sigue así) 3) las TD (ni los CC) hacen sus cálculos sobre los datos de origen pero... - NO tienen la facilidad de tratar en conjunto los datos con funciones como x.SI.conjunto por lo que... - ciertos cálculos se deben hacer dese la tabla con los datos de origen 4) tus formulas en la hoja datos refieren a columnas COMPLETAS (G:G, E:E, F:F, etc.) pero... - no porque se pueda, significa que DEBAS hacer ese tipo de referencias - (ya te veré cuando los datos crezcan y veas una desmejora en el rendimiento del modelo), en todo caso... - define nombres con referencia a rangos dinámicos o convierte los datos en tablas (ListObjets) como base para la TD ahora, como prefieres que demos tratamiento y ajustes a los puntos 2, 3 y 4 ?
  20. atajo... no creo, funcion(alidad)... congelando los paneles de la ventana y la "celda activa" en el panel "flotante" ?
  21. cierto, eso de "escribir codigo en las rodillas..." (no siempre funciona) 🥵
  22. ese código lo pones en un modulo "estándar" y lo usas "en lugar de..." el que publicaste
  23. ok, prueba de esta forma: Sub nuevaForma() Application.DisplayAlerts = False Worksheets("graficas").Select If Application.Count(Range("o16:p16")) = 2 Then Range("o16:p16").Select: dlRESIZE If Application.Count(Range("o20:p20")) = 2 Then Range("o20:p20").Select: dlRESIZE If Application.Count(Range("o24:p24")) = 2 Then Range("o24:p24").Select: dlRESIZE If Application.Count(Range("o28:p28")) = 2 Then Range("o28:p28").Select: dlRESIZE Application.DisplayAlerts = True End Sub
  24. puedes averiguar (y publicar) lo que hace el procedimiento que llamas repetidamente ?: ???
×
×
  • Create New...

Important Information

Privacy Policy