Jump to content

Héctor Miguel

Members
  • Posts

    1,381
  • Joined

  • Last visited

  • Days Won

    58

Everything posted by Héctor Miguel

  1. una vez cambiados los elementos de la hoja "mesas" solo necesitas borrar (todos) los que tengas seleccionados en la hoja con las listas de validacion
  2. como tampoco puedo adjuntar archivos (nuevos), por lo pronto te dejo una muestra aqui analiza, entiende, adapta, .... (se auto-elimina dentro de las proximas 12 hrs,) ✌️
  3. me uno a la lista de peticionarios 🤔
  4. ahora entiendo eso de "mi nivel"... tampoco puedo adjuntar archivos (nuevos), esperemos que alguien mas "con privilegios" pueda darte una manita (o que la administracion intervenga para aligerar estas restricciones ?)
  5. no (necesariamente), toda propuesta o sugerencia es para adaptar a la situacion "real" que (en tu caso) solo conoces tu 🤔 y en cuanto a esto: en tu proximo mensaje mira en la seccion "Insertar otro medio > Insertar adjunto existente", pero antes de que lo adjuntes, tienes otras alternativas (p.ej.) o explicas (con lujo de detalles) como (RE)crear un modelo con los datos (+/- exactamente) iguales al tuyo o adjuntas (una copia RE-DU-CI-DA de) TU modelo (hasta inventada) solo procura que sea fiel de la situacion a resolver en cualquier caso, incluir un ejemplo (resuelto a mano) suele ser de utilidad cuanto y mas, si comentas tambien las consideraciones del caso
  6. mira por aqui: - Hide Used Items in Drop Down List
  7. 1) la variable "FilePath" viene de la funcion Dir(...) 2) esa funcion devuelve (exclusivamente) "el nombre" del archivo (NO incluye "la ruta") 3) la funcion propuesta (esArchivoAbierto) => REQUIERE de ambos (la ruta Y el nombre)
  8. similar a la fraccion que expones en tu consulta inicial, solo cambia de esto: a esto: If esArchivoAbierto(rutaAlArchivo) Then
  9. Function esArchivoAbierto(rutaAlArchivo As String) As Boolean Dim archivo As Byte: archivo = FreeFile: On Error Resume Next Open rutaAlArchivo For Binary Access Read Write Lock Read Write As #archivo: Close #archivo esArchivoAbierto = Err.Number End Function OJO que no todos los tipos de archivo son bloqueados por el sistema para multiples aperturas (p.ej. *.txt y otros, y los *.pdf dependera de la aplicacion que los gestiona)
  10. si no conoces la EXTension, (probablemente) lo mejor es un hipervinculo ?: Sub abrirArchivo() Dim ruta As String, archivo As String, objetivo As String ruta = ThisWorkboook.Path & "\archivos\" archivo = "2021-11-22-4-1" objetivo = Dir(ruta & archivo & ".*") If objetivo <> "" Then ThisWorkbook.FollowHyperlink ruta & objetivo End Sub quiza obtendras una alerta por potencial riesgo abriendo ese tipo de enlaces (?)
  11. si tu NB corre macros, podrias intentar con esto (en un modulo de codigo estandar -excel-) Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Sub TeladoVirtual() ShellExecute 0, "open", "osk.exe", "", "", 1 End Sub si no te funciona con "osk.exe" prueba cambiando a "tabtip.exe"
  12. hola, a ambos ! algunas sugerencias (necesitas ser menos ambiguo con las instrucciones a vba): 1) las comparaciones textuales son sensibles a las (may/min)usculas o fuerzas la comparacion con funciones if lcase(<variable1>) = "texto en minusculas" if ucase(<variable>) = "TEXTO EN MAYUSCULAS" o pones al inicio del modulo: option compare text 2) referencias a objetos (como las hojas) tiene varias alternativas - nombre en las etiquetas (entre comillas) no importa si lo indicas en (may/min)usculas, no hay dos hojas con el mismo nombre - el "codename" (lo que ves en el explorador de proyectos) como Hoja1, Hoja2, etc. - el indice (posicion) de las hojas en el libro ( worksheets(1), worksheets(2), etc. ) 3) hojas en bucles ? arrays: for each hoja in worksheets(array("hoja1, "hoja2", "hoja3", ...) indices: for n = 1 to worksheets.count worksheets(n). ... ... ... codenames: (referirlos tambien en una matriz/array) Worksheets refiere solo a hojas de calculo Sheets refiere a todo tipo de hojas en el libro (graficos y otros tipos) 4) objetos incrustados que pudieran tener nombres diferentes ? - cuantos commandbuttons hay en cada hoja ? - si es un solo commandbutton (sin importar el nombre) puedes usar esto en el evento '_open' del libro Private Sub Workbook_Open() Dim OnOff As Boolean, hoja As Worksheet OnOff = LCase(ThisWorkbook.FullName) = "c:\carpeta\libro1.xlsm" For Each hoja In Worksheets: hoja.OLEObjects(1).Enabled = OnOff: Next Worksheets(4).OLEObjects(1).Enabled = True End Sub
  13. prueba: =buscar(2;1/(r1:r7000="si");fila(r1:r7000))
  14. 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 ?
  15. 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 🤔
  16. agrego tercera forma n en rango-horario (ayudaExcel).xlsx
  17. 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
  18. 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)
  19. 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
  20. 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) 😉
  21. 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
  22. 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" ?
  23. 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
  24. ese (pseudo) formato "numérico" aparece en cuanto el contenido de una celda excede los 255 caracteres (a partir del caracter 256)
×
×
  • Create New...

Important Information

Privacy Policy