Jump to content

Macro para guardar hoja con extensión xlsm a xlsx


Recommended Posts

Buenos días a los integrantes del foro, en esta ocasión recurro a uds, para que me brinden su apoyo con la siguiente macro, el cual me esta emitiendo un error en la segunda macro con el titulo Macro que permite grabar hoja en un nuevo libro,  y es que al momento de guardar los datos de la hoja REPORTE a la hoja PRE_REPORTE  y cuyo dato de la hoja REPORTE celda C3 no convierte como #¡VALOR! tras presionar SI, para lo cual anexo archivo y desde ya agradezco su atención y apoyo.

image.png.b8aa8369ca48a49331811fbdbb2bfbe6.png

image.thumb.png.51b3660dd685828b3ca6f5f3ea3de119.png

Macro que copiar de una hoja a otra hoja:

Sub CopiarReporte()
    Application.ScreenUpdating = False
        Set h1 = Sheets("REPORTE")
        Set h2 = Sheets("PRE_REPORTE")
        h2.Cells.Clear
        h1.Cells.Copy
        h2.Range("A1").PasteSpecial Paste:=xlPasteValues
        h2.Range("A1").PasteSpecial Paste:=xlPasteFormats
    Range("A1").Select
    Application.ScreenUpdating = True
End Sub

Macro que permite grabar hoja en un nuevo libro:

Sub copiar_reportes()
Dim nom$, fech$, hor$, fich$, nomb2$

Application.ScreenUpdating = False

nomb2 = Sheets("REPORTE").Cells(1, "a")
nom = Sheets("REPORTE").Cells(1, "b")

fech = Format(Date, "dd-mm-yy")
hor = Format(Time, "hh-mm-ss")

fich = ThisWorkbook.Path & "\" & "02 FILTRO DE REPORTES " & nom & " PTO SALAVERRY " & nomb2 & " " & fech & "_" & hor & " HRS" & ".xlsx"

Sheets("PRE_REPORTE").Copy
ActiveWorkbook.SaveAs (fich)
ActiveWorkbook.Close
Range("A1").Select
Application.ScreenUpdating = True
End Sub

https://drive.google.com/file/d/1xzz46-ulCbnyyjKGbZAdkxiI4bAzeAjt/view?usp=sharing

Saludos.

Edited by SALAVERRINO
Link to post
Share on other sites
  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • Hola a tod@s, Tengo una tabla dinámica. Hay una hoja llamada "iva" con el total de IVA soportado y el total de IVA repercutido. En este último, tengo digamos dos "sub-totales" Lo que pretendo es crear una medida que RESTE al total de las dos cuotas de IVA repercutido, le reste el total de la cuota de IVA soportado. Lo he intentado con la función CALCULATE, SUM y SUMX pero no logro dar con "la tecla". ¿alguien me podría orientar? ... el resultado que tendría que dar como correcto está indicado en la celda G34 pero como digo, no calcularlo manualmente sino creando una MEDIDA. Gracias por vuestras aportaciones. DIFERENCIAcuota.xlsx
    • Hola! Soy nueva en este foro, así que espero estar haciendo esto bien...Me surge una duda al programar una lista para elegir varios valores. Tengo la lista, la elección de valores y todo parece ok, pero me surge el problema al querer mover el rango a uno en concreto y no dejarlo en la primera columna... Quisiera que mi rango estuviera definido por ejemplo entre D7:D20 y si puedo hacerlo en otra pestaña, mejor, alguien me puede ayudar? He puesto esto:  Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column <> 3 Or Target.Row = 2 Then     Exit Sub Else     Form1 End If Cancel = True End Sub
    • Hola, Lo he mirado solo por encima porque voy mal de tiempo, pero creo que el problema esta en tu tabla dinámica, que no esta actualizando bien; en los campos K3:N3 si funcionan al por ejemplo filtrar la la oficina 265, pero los datos de la tabla son erróneos (o eso me parece  a mi) y si intento actualizar la tabla , me da un error (por cambio de nombre de archivo??!!). Esta tarde con mas tiempo lo mirare mas detenidamente. Actualización: Si, definitivamente es eso, actualiza el rango de calculo de la tabla dinámica y funcionara bien.
    • alguien que me pueda orientar en esta consulta ???? gracia
    • Muchas gracias Fpayno por el comentario. Ya miré cómo podría solucionarlo con k.esimo, pero el problema es que, en el listado real de mi hoja Excel, aparecen muchísimas rachas, además de que cada día añado un nuevo valor, por lo que la peor racha de todas, durante mucho tiempo puede ser la misma, pero según añado un resultado diario nuevo, puede que se esté creando una nueva peor racha. Por eso el rango no está definido “para siempre”: empieza con el siguiente valor diferente a cero, y finaliza con el último valor diferente a cero, y entre ellos nunca puede haber un valor igual a 0.  La cuestión es que, una vez que la fórmula MIN me localice el “epicentro” de la peor racha hasta la fecha, la otra fórmula (en la que estoy atascado) sea capaz de identificar cuándo empezó y cuándo terminó esa racha, para así saber cuánto duró (1 día, 2 meses, 5 meses y 2 días...). Cualquier idea será bienvenida!
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy