Saltar al contenido

Haplox

Miembros
  • Contador de contenido

    2042
  • Unido

  • Última visita

  • Days Won

    59

Sobre Haplox

  • Rango
    José

Información de perfil

  • Sexo Hombre
  • Localización: Madrid
  • Cosas que te gustan Sr. Shrödinger, su gato ha sufrido un accidente. Tengo buenas y malas noticias…

Configuraciones

  • Campo que utilizas como separador de argumentos ;

Visitantes recientes del perfil

1925 visitas de perfil
  1. Internet es un medio en el que nos comunicamos con palabras, pero sin ver las intenciones. No era mi intención faltar a nadie si se supiera el ánimo con que dije lo anterior, pero solo escribimos Debes comprender que el que pregunta siempre tiene muy claro que quiere y que es lo que tiene, pero el que da alguna ayuda solo tiene lo que se ha expuesto en la pregunta, y con esto debe propporcinar un código. Por eso la ayuda se presta en función de lo que se pide, sin entrar en darle vueltas a todos los posibles cambios que vosotros tenéis claro que podéis hacer. Está bien intentar aprender, y por lo tanto exponer dudas (como las tuyas), aclarando eso, que son dudas, sino se da por hecho (de nuevo solo leemos sin saber la intención) que se buscan nuevos cambios sobre lo preguntado. Lo dicho, en ningún momento mi internción fue el faltarte al respeto, si no no hubiese seguido proporcionándote la nueva solución
  2. Haplox

    Extraer rangos numericos

    ¿Se te ha quedado la bola de cristal sin pilas?
  3. @ramonvar, ponlo aquí: fichero = Application.GetOpenFilename("Archivos Excel (*.xl*), *.xl*", , "Elegir fichero a consolidar") On Error GoTo salir Set MyFile = Workbooks.Open(fichero) y el "salir aquí: Worksheets("CONSOLIDADO").Select ActiveSheet.Range("A1").Select salir: Application.CutCopyMode = False Application.DisplayAlerts = True End Sub Esto lo que hace es que, si cancelas y por tanto te diese error, le dices que vaya a la línea salir: Que es el final de la macro y por tanto se acabaría sin error
  4. Haplox

    Extraer rangos numericos

    ¿Te parecía poco "elegante" lo de la columna auxiliar?
  5. Lo siento @Mmat, lo acabo de probar en la red del curro y no me da el error, así que no sé qué puede pasar . Y menos con algo tan sencillo como la parte del código donde da error
  6. Pues si no sabes tú que ha podido quitar, imagínate nosotros que nosabemos qué tenías en ese libro. En cuanto al código, tan sencillo como probar tus macros y ver si funcionan correctamente Te recomiendo (aunque por lo general se saca poca información). lo siguiente. los ficheros de excel, en realidad son ficheros ZIP con varias carpetas en su interior con la información del archivo. cambia la extensión del archivo con el problema a ZIP ábrelo con 7Zip, WinZip, WinRar o el que tengas navega a la carpeta que te dice /XL/worksheets/sheet23.xml abre ese archivo xml a ver que puede sencontrar De todas maneras ya te dice algo, que ha quitado un hipervínculo de esa página, tú sabrás si tenías alguno, revísala
  7. Y yo agradecería la vuestra, subiendo archivos sin trampas y explicando desde el principio QUÉ se quiere o necesita . Si andas moviendo botones, cambiando hojas y demás, pues lógico que no funcione. Te dejo la solución REGISTROS CONSOLIDADOS.xlsm
  8. No sé cómo lo estarás haciendo, pero funciona perfectamente . Te dejo el fichero Copia de Test.xlsm
  9. No sé a qué te refieres con lo de "cancelar antes de ubicar". Pero supongo que siempre te da ese fallo... La síntaxis está bién, así que lo único que se me ocurre es que no hayas declarado MyFile como WorkBook Dim MyFile As WorkBook Y ahora veo una cosa rarísima . Si copio el código que has puesto en el editor de VBA, me lo pega como: fi?chero = Application.GetOpenFilename("Archivos Excel (*.xl*), *.xl*", , "Elegir fichero a consolidar") No sé de dónde sale ese signo de interrogación ¿Será por eso?
  10. Hombre, ese solo era un ejemplo . No sé dónde quieres copiarlo. Si es como dices, solo debes cambiar: Dim uF As Long uF=Range("E" & Rows.Count).End(xlUp).Row + 1 Cells(uF,"E")=CDbl(TextBox4)
  11. @juanmafdez , si pones el siguiente código en los eventos de la hoja Plantilla, no te hará falta el botón de la macro. Cuando cambies el alumno se ejecuta automáticamente la macro: Private Sub Worksheet_Change(ByVal Target As Range) Dim alumno As String Dim uF As Long Dim usado As Range If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub 'Para que solo se ejecute al cambiar el alumno ' alumno = Target Sheets("Plantilla").Range("B1").Copy Sheets("Notas").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) Sheets("Plantilla").Range("B3").Copy Sheets("Notas").Range("B" & Rows.Count).End(xlUp).Offset(1, 0) Sheets("Plantilla").Range("B4").Copy Sheets("Notas").Range("C" & Rows.Count).End(xlUp).Offset(1, 0) Sheets("Plantilla").Range("B5").Copy Sheets("Notas").Range("D" & Rows.Count).End(xlUp).Offset(1, 0) Sheets("Plantilla").Range("B6").Copy Sheets("Notas").Range("E" & Rows.Count).End(xlUp).Offset(1, 0) Sheets("Plantilla").Range("B7").Copy Sheets("Notas").Range("F" & Rows.Count).End(xlUp).Offset(1, 0) uF = Range("H" & Rows.Count).End(xlUp).Row 'Última fila con alumno ' Set usado = Range("H2:H" & uF).Find(alumno) 'Buscamos en la columna H el alumno usado ' Cells(usado.Row, "H").Interior.Color = RGB(198, 239, 206) 'Coloreamos la celda ' End Sub
  12. Creo que te estás complicando la vida demasiado. ¿Para qué quieres que aparezca en el textbox con ese formato? Si es para pasarlo a la celda como número, no te hace falta mara nada. Si es por capricho (), puedes usar : Private Sub TextBox1_AfterUpdate() TextBox1 = FormatNumber(TextBox1, 2) End Sub Ten en cuanto que esto depende de la configuración regional. En mi caso en España (que no sé si es el tuyo), el separador de decimales debe ser la COMA Para pasarlo como número a la hoja, solu usalo siguiente, lo pasa como número real (no string): Private Sub CommandButton1_Click() Cells(1, 1) = CDbl(TextBox1) End Sub Por cierto, se ha dicho muchas veces. La función VAL no retorna el valor numérico de algo. Busca la función en internet
  13. Es que cuando se pide algo, cuando intentas dar una solución no `piensas en tener que revisar los ficheros UNO POR UNO En tus ficheros a consolidar tienes 2 problemas, que ahora he tenido que saltar por encima Las tablas contienen filas vacías al final (muchas) Aunque se muestren vacías, estas celdas CONTIENEN UN ESPACIO, lo que hace que realmente no estén vacías, sino que cuentan como texto Esto hace que las cosas no funcionen como deben. Te dejo una nueva solución. Mira el código comentado para ver los pasos seguidos REGISTROS CONSOLIDADOS.xlsm
  14. Haplox

    Se puede hacer sin macros

    Pués vamos allá... Primero, ¿No te has dado cuenta de que solo funciona si tienes activa la hoja TABLAS?. Eso es porque en el código no has establecido con qué hoja trabajar. Lo normal es trabajar sobre la hoja FACTURACIÓN e ir cogiendo datos de las otras. Para eso debes usar el With/End With Además por eso los cálculos no te salían bién, pues no tenías en cuenta la celda ce la CUANTÍA (en la hoja TABLAS la celda(6,"I") está vacía) Segundo, en cuanto a lo de usar colecciones, está genial siempre, pero... Lo tienes montado para que no ponga duplicados en la colección y me parece que no vas a tener nunca valores repetidos. Te lo podías haber evitado, pero no hace falta modificarlo porque tampoco viene mal Tercero, al abrir el formulario, si quieres que los combos 2 y 3 estén vacíos, no hace falta que los declares como tal. No pasa nada, pero te evitas 2 líneas de código Y no, no había entendido lo de los combos, culpa mía... Te dejo la solución, ya con el botón de pasar a la hoja activo. El código está comentado para que veas los pasos Copia de Honorarios Letrado_3.xlsm
×

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.