Saltar al contenido

Héctor Miguel

Miembro VIE
  • Contador de contenido

    1295
  • Unido

  • Última visita

  • Days Won

    54

Héctor Miguel ganó el día 18 de febrero

Héctor Miguel had the most liked content!

Sobre Héctor Miguel

  • Rango
    Miembro
  • Cumpleaños 10/25/1956

Configuraciones

  • Campo que utilizas como separador de argumentos
    ,

Visitantes recientes del perfil

3153 visitas de perfil
  1. no soy yo "quien" para decirlo, pero el tema del número de decimales cae en los huecos de la "aritmética de punto/coma flotante", considerando que... 1) los procesadores interpretan los números (reales, racionales, ...) en "binario" 2) cuando una división es (p.ej.) 1/3 va a generar un periódico "infinito" de decimales la alternativa es "redondear" decimales a un límite cercano a la precisión numérica de excel (14, 13, 12, 11, 10, ...) según la necesidad del cálculo saludos, hector.
  2. hola, a ambos ! o puedes usar esta variante: Function cuentaUnicosEnRangoFiltrado(rango As Range) As Long ' el nombre de la funcion es obvio ' _ pasar como argumento el rango filtrado SIN el tiitulo ' _ R&D: Héctor Miguel Orozco Díaz ' _ una de las contadas situaciones en que el metodo Evaluate se puede usar en una UDF llamada desde celdas ' Dim a As String, b As String a = rango(1).Address(0, 0): b = rango.Address(0, 0) cuentaUnicosEnRangoFiltrado = Evaluate( _ "sum(if(frequency(if(subtotal(3,offset(" & a & ",row(" & b & ")-row(" & _ a & "),)),match(" & b & "," & b & ",)),row(" & b & ")-row(" & a & ")+1),1))") End Function
  3. las celdas "combinadas" suelen llegar a convertirse en "una espina en..." (donde no puedes permanecer cómodamente sentad@) - estorban a la navegación por la hoja (incluso por macros) - no puedes usar (p.ej.) en .ClearContents (que te dice el mensaje de error ?) - (a menos que identifiques que son celdas combinadas y "afectes" -solo- a la primer celda del área combinada) lo que si puedes usar es cambiar "su valor" por... nada ( = "" ) o ( = empty) p.ej. cambia tu procedimiento a... Sub Eliminar_texto() Dim lc As Long, col As Long lc = Cells(1, Columns.Count).End(xlToLeft).Column For col = 1 To lc If Len(Cells(1, col).Value > 3) Then Cells(1, col) = Empty Next End Sub moraleja: cuídate de las celdas "combinadas"
  4. la verdad es que sin poder analizar el archivo en cuestión, no se puede apreciar alguna causa del error que comentas prueba a subirlo en algún sitio de hospedaje (google-drive, onedrive, etc.) y comparte su vínculo para su descarga en su siguiente mensaje
  5. no indicas cual(es) línea(s) causa(n) error(es) y lo único que se ve fuera de contexto es: que para indicar el comodín (asterisco) muestras una "estrella de 5 puntas" (???)
  6. en vba, los errores del tipo -2147xxx (800xxx) significan que una instrucción intenta llamar a un objeto (propiedades, etc.) que NO está presente (o visible) en ese momento sería conveniente "ver" la linea que lo causa (ese tipo de imágenes y "nada" vienen a ser lo mismo) otra posibilidad es que se trate de controles ActiveX (quizá en formulario ?) u otra librería de objetos que NO tienen soporte en excel:mac
  7. (lo mismo que te re/pregunté allá, a ver si por aquí si respondes ?) los datos que vas "soltando a cuenta-gotas" siguen siendo poco claros e insuficientes (me explico): dando por entendido que la ruta es fija (digamos: c:\archivos bajados\ ) supongamos que dentro de esa carpeta existen varios archivos, tipo (y solo para aclaración) como esto: 64000-numeros particulares de la bajada diaria ABC-274785 64000-numeros particulares de la bajada diaria DEF-274785 ... ... ... 64000-numeros particulares de la bajada diaria XYZ-274785 como saber cual de ellos (u otros) es "el bueno" para tu proceso ? procura no dejar detalles "en el tintero", al menos, los que permitan (RE)construir tu modelo de datos y entorno de trabajo ?
  8. esa estructura corresponde a una carpeta ? (o al nombre de un archivo ?) si es carpeta, como identificas el nombre del archivo ? cual es la "ruta base" donde se localiza ? (o es cambiante o dinámica ?) de seguro hay más detalles que te estás dejando "en el tintero" (aprovecha tu siguiente mensaje para aclarar lo que consideres conveniente)
  9. puedes descargar el siguiente complemento y tendrás un panel con la lista de las hojas (siempre a la vista ?) - Excel’s Navigation Pane (versión de prueba por 30 días) con más de 300 funcionalidades disponibles (?)
  10. en tu adjunto en devolución va lo que obtienes de aplicar un algoritmo (vba) basado en la técnica de Tushar Mehta que puedes estudiar luego de visitar este artículo: - Conciliando cuentas con Excel ya que lo analices, descarga el modelo en excel desarrollado para el ensayo como se menciona, seria interesante distinguir cual es la combinación "correcta" (cuando existan dos o más posibles combinaciones ?) si prefieres alternativas usando solo fórmulas y funciones integradas, los "sumandos" no pueden ser más de 20 de sumandos (ambos).xlsx
  11. 1.- (hasta donde sé) las TD sólo pueden hacer un resumen de los datos que toman del origen y si no están en el origen... (hay que agregarlos ?) 2.- en tu adjunto en devolución, agregué una columna a la tabla de origen con los cálculos correspondientes y en una TD (hoja agregada) sustituí "tiempo" por "posición" 3.- si es requisito NO usar la columna agregada a los datos de origen... (?) 3.a) usar transformaciones (PQ) ? 3.b) usar DAX (PP) ? 2.c) construir la TD por macros ? - otros ? td posXseg (sergio).xlsx
  12. prueba cambiando tus códigos a la siguiente estructura (todo en el mismo módulo): Dim siguiente As Date Const tiempo As String = "0:10:00" Sub Auto_Open() guardar End Sub Sub Auto_Close() detener End Sub Sub guardar() siguiente = Now + TimeValue(tiempo) ThisWorkbook.Save Application.OnTime Siguiente, "guardar" End Sub Sub detener(): On Error Resume Next Application.OnTime siguiente, "guardar", Schedule:=False End Sub
  13. es forzoso que deba ser una macro con buscar objetivo ? si te basta con álgebra, analiza la fórmula de la columna C sueldo neto GS (ambos).xlsx
  14. el detalle en tu consulta es que usas un estilo de "adivinen lo que estoy pensando" (?) con respecto de tu adjunto... 1) el módulo "de clase" no contiene nada y en tanto no decidas para qué quieres que "sirva", puedes iniciar pesquisas analizando artículos como este (solo por mencionar alguno): - Introduction To Classes 2) en el evento '_click' del commandbutton de tu formulario (BTNBUSCAR) haces un "intento" de llamada a un procedimiento que NO existe: TraerNombre 3) ese "TraerNombre" es el nombre de un módulo de código, que es un "contenedor" de procedimientos, es decir... - un módulo puede contener varios procedimientos siempre y cuando... - a) ningún procedimiento se llame igual a otro (tampoco igual a ningún módulo de código) - b) cualquier procedimiento declarado en módulos normales puede ser asignado a objetos con solo indicar el nombre del procedimiento en una línea u usando el método: => Call nombre_del_procedimiento 4) en ese módulo (TraerNombre) parece que simulaste el traspaso del evento '_click' de un control indefinido de un userform (?) - aquí entrarían los módulos de clase, previa lectura del artículo sugerido (entre otros) - aunque haces referencia al control "TXTBUSCAR" (mismo que SI se encuentra en tu formulario), no es tan "simple" de referir sin calificar sugiero avanzar más lento (programación rutinaria en vba) y después avanzar a los módulos de clase (y mucho más) ?
×
×
  • Crear nuevo...

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.