Jump to content

Héctor Miguel

Members
  • Content Count

    1,266
  • Joined

  • Last visited

  • Days Won

    52

Héctor Miguel last won the day on January 1

Héctor Miguel had the most liked content!

About Héctor Miguel

  • Rank
    Advanced Member
  • Birthday 10/25/1956

Converted

  • Campos
    ,

Recent Profile Visitors

2,737 profile views
  1. el punto de equilibrio es "el momento" en el que las ventas "cubren" los costos y gastos marcando un punto de referencia a partir del cual, un incremento en las ventas empieza a generar utilidades en tu caso, las ventas son inferiores a la suma de costos y gastos, razón por la cual "el negocio" PIERDE ANTES de siquiera iniciar, ya que resulta ser del orden de -24.117,8764 € la fórmula es correcta
  2. El acceso al modelo de objetos de proyectos de vba es un tema "sensible" de seguridad y no puede NI DEBE ser manipulado por un código auto-configurable (por obvias razones) Puedes modificar su configuración alterando el registro de Windows, concretamente un valor DWord de nombre "AccessVBOM" desde esta llave: HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Excel\Security (donde "x.0" corresponde a la versión de Office/Excel -que tendrás que averiguar-) Por lo anterior, solo tendrá efectos si la llave se modifica ANTES de ejecutar Excel, misma razón por la que "tu" aplicación NO PODRÁ auto-configurarse (se entiende ?) Alternativas ?... Avisar al usuario si las condiciones no son óptimas para tu aplicación Usar un script (*.vbs) que permita el acceso (modificando el registro) y... - Ejecute Excel y tu aplicación (o ...) - Configure una "tarea programada" para ejecutar Excel y tu aplicación NO olvides (al terminar) restablecer la configuración a la preferencia del usuario (?)
  3. para "mac specific", mira por aquí: - Download a File through Safari with AppleScript - Can AppleScript be used to downloading files from a web page?
  4. usar macros (Y el evento '_selectionchange') vacía la pila de niveles para un deshacer / undo / ctrl+Z prueba con una formula para auto-numerar que se auto-ajuste al cambiar los autofiltros (p.ej.) suponiendo que la numeración va a ser en la columna A, a partir de la fila 2 [A2] =subtotales(3,b$2:b2) -> copias/arrastras/... la fórmula de [A2] hasta la última fila (misma columna) de tu rango con autofiltros OJO con el separador de argumentos, mi sistema usa a la coma " , "
  5. hola, a todos ! se trata de un bug inatendido que se presenta desde la versión xl-97 hasta la más actual pero solo en las versiones NO-USA de excel y en lo que toca a controles "TextBox" desde formularios, por lo que involucra (al menos) dos vertientes: idioma y configuración regional 1) como VBA es US-Centric, NO acepta la coma como separador válido para las decimales 2) un textbox, a pesar de que (su uso entendido) toma (preferentemente) TEXTOS y debiera aceptar CUALQUIER caracter, "piensa", "asume" ... que toda version no-us-centric usa la coma en las decimales 3) funciones de vba como CDbl(... usan la configuración regional del equipo por lo que pueden interpretar esa incongruencia un caso práctico de excel NO en inglés y configuración regional con separador decimal de coma (el mismo del ejemplo) se puede resolver de la siguiente forma: op1: haciendo la pregunta consultando al excel, cambiar la forma del If... If Vendes <> Mitxans Then por esta forma: If Evaluate(Vendes) <> Evaluate(Mitxans) Then op2: cambiando el separador "ofensivo" a vba (p.ej. usando una instrucción previa como): Vendes = Replace(Vendes, ",", "."): Mitxans = Replace(Mitxans, ",", ".") op3: cambiando el tipo de datos de double a single (y sus conversiones) -LBV- OJO (obviamente) FALLAN si la situación es que el separador decimal es el mismo que "espera" vba conclusión: operar cifras con decimales desde controles textbox (y vba)... presenta sus imponderables (?)
  6. con los detalles ya comentados en el curso de esta consulta, probé el siguiente código con tus "plantillas" copiadas hasta la fila 35501 y resolvió en un abrir y cerrar de ojos cópialo > pégalo en un módulo de código estándar y prueba, cuando estés conforme, ya puedes grabar el archivo Sub insertaXfilasCadaY() Dim a As Long, m, n As Long, x As Long, y As Long, donde As Range a = 5 ' cuantas filas se insertan en cada grupo ' With ActiveSheet m = Intersect(.UsedRange, .Columns(4)).Address: End With Names.Add "saltos", "=if(" & m & "=""transporte"",row(" & m & ")-2)" m = Filter([transpose(saltos)], False, False): Names("saltos").Delete n = LBound(m): y = UBound(m) Set donde = Cells(m(n), 1).Resize(a) For x = n + 1 To y Set donde = Union(donde, Cells((m(x)), 1).Resize(a)): Next donde.EntireRow.Insert: Set donde = Nothing End Sub nota: tu archivo contiene vínculos externos, varios nombres con error y algunos que parecen venir de macros de lotus-123 para d.o.s., esto confirma que no eres tan "novicio" en esto del excel y sus macros (?) sugiero estudiar lo sugerido con el debido detenimiento, tiene instrucciones que ya debieran formar parte de tu léxico de programación (después de más de 10 años ?)
  7. lamento insistir en las incongruencias de tus consultas (pero Leopoldo suele ser más "rudo" en sus reconvenciones, así que...) según este "nuevo" adjunto... - la primera inserción ocurre en la fila 54 (NO en la fila 49) - el segundo grupo está 73 filas abajo (NO 71 filas) - el resto... (lo siento, solo pusiste 5 "plantillas ?") si estas discrepancias ocurren a lo largo de las 500 plantillas (?), una (posible) opción es ubicar en la columna "C" la ocurrencia del texto "TRANSPORTE" y "regresar" DOS filas (te convence ?)
  8. (lo mismo en ambos, por si hubiera dudas ?) considerando que no eres alguien que "recién inicia" con excel (y sus macros), ya debieras entender que no es sano consultar como lo haces: - en diferentes foros (prácticamente la misma consulta) PERO... - proporcionando información diferente (ademas de insuficiente) inicialmente pides insertar 5 filas a cada 73 (sin decirlo) y hasta la fila 35501 "en varias plantillas" - iniciando en la fila 49, y después en las filas 122, 195... (y así hasta el final, es decir a cada 73 filas) - en otros datos comentas que son hasta la fila 19711 en tu muestra hay solo una hoja, con solo dos -pre-formatos (solo uno con datos) y señalas las filas 49 y 120 - esto seria a cada 71 filas (NO a cada 73 como inicialmente referías) sigue sin ser claro si por "plantillas" te refieres... - a varias hojas en un solo libro-plantilla - o a varios libros con una (in)determinada hoja-plantilla si explicas lo anterior, con total claridad, no seria necesario que adjuntes un (inexplicable) modelo en excel la parte más importante de una instrucción, es el resultado que se debe obtener claridad, detalle, procedimiento, resultado de la claridad en la consulta, se obtiene la claridad en el detalle de la claridad en el detalle, se obtiene la claridad del procedimiento de la claridad en el procedimiento, se obtiene el resultado esperado
  9. en tu modelo no hay datos, solo un "formato" con bordes y fondo, por lo que no es adivinable cuantos "grupos" de información vas a administrar (o hasta cual fila hay datos ?) si vas a usar bucles, procura que NO realicen "la misma acción" en cada paso, define "el rango" y ejecuta la acción en un solo paso Sub insertaXfilasCadaY() Dim ini As Long, x As Long, y As Long, grupos As Long, hoja As Worksheet, donde As Range, n As Long ini = 49 ' la fila con el primer grupo (OBLIGADO) ' x = 5 ' cuantas filas se insertan en cada grupo ' y = 73 ' cada cuantas filas hay un grupo diferente ' grupos = 5 ' el numero de grupos a procesar ' 485 para la fila 35501 Set donde = Cells(ini, 1).Resize(x) For n = 1 To grupos Set donde = Union(donde, Cells((n * y) + ini, 1).Resize(x)) Next donde.EntireRow.Insert Set donde = Nothing End Sub
  10. por "planitllas" te refieres a varias hojas en un libro ? (o a determinada hoja de varios libros ?) todas tienen datos hasta la fila 35501 ? (o hay que averiguar hasta donde llegan los datos en cada una ?) todas las inserciones inician en la fila 49 y son a cada 73 filas ? (o te quedaron "detalles en el tintero" ?)
  11. mira de tener instalada alguna de estas aplicaciones: - "Spreadsheet Compare" y/o "Inquire AddIn" - Qué hacer con Spreadsheet Compare
  12. tu apreciación es correcta, al eliminar la hoja "tabla dinamica", cualquier referencia a ella se convierte en #¡REF! => aun si la creas de nuevo :( una alternativa es cambiar la forma de referencia en tu función (p.ej.) de: =SI.ERROR(BUSCARV(B5,'tabla dinamica'!A:AH,2,0),0) _a: =SI.ERROR(BUSCARV(B5,INDIRECTO("'tabla dinamica'!a:ah"),2,0),0) el error volverá (momentáneamente) hasta que la hoja "tabla dinamica" sea (RE)creada por cierto, si solo buscas en DOS columnas, no tiene sentido buscar en 34 ("A:AH"), por que no solo "A:B" ?
  13. el sistema que buscas requiere de macros, probablemente sea más práctico desde un userform (altas, bajas, cambios, despliegues, extras, etc.) lo que no es claro (aun) es la forma en que piensas gestionar el sistema de "doble entrada", es decir... - lo que modifiques en una forma ( A o B ) que se vea reflejado en la otra (según sus tiempos) - dato por dato ?, o hasta que se hayan cumplimentado todos los campos ? proponer "algo" basado en tu adjunto no es difícil, las complicaciones asomarían en la medida de ... - qué tanto cambia tu modelo de ejemplo de tu modelo en la realidad ? - sabrías donde y como hacer cualquier adaptación ? - tienes más "detalles en el tintero" ? considera que convendría diseñar algún mecanismo de prevención o corrección de (posibles) errores in/advertidos del usuario (???)
  14. excel no admite formatos de fecha "por omisión" que no sean los que puede tomar de la configuración regional del equipo (con las salvedades que ya comprobaste): fecha corta => solo dígitos para el mes si quieres ver 3 caracteres para el mes, puedes ingresar solamente día/mes (o mes/día según el orden de fecha en tu configuración regional) y el formato en la celda mostrará 3 letras para el mes (OMITIENDO el año que supondrá el año en curso) fuente: Format a date the way you want otras alternativas pasan por definir estilos y configurar "plantillas" (*.xltx)
  15. en la actualidad, las instrucciones tienen un "problema"... se está perdiendo la capacidad (o la intención) para interpretarlas (y seguirlas) "al pié de la letra" el derrotero que seguiste NO te permitirá "hacer lo propio" (cuando necesites de otros iconos que DEBAS "procesar") si te atreves a (RE)leer (e interpretar) hasta entender los pasos sugeridos (allá)... no tendrás que someterte al derrotismo de "chapucear" con el fondo blanco del "contenedor"
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png