Saltar al contenido

Macro para guardar hoja solo con valores


Recommended Posts

publicado

Buenos días estimados, necesito una macro que al ejecutarse, guarde en un nuevo libro solo los valores de la hoja activa y que todas las celdas tengan formato "texto". Además de ser posible que el nombre con el que se guarde contenga la fecha del día. Intenté hacerlo con varias macros publicadas en el foro pero no logro hacer que todo salga bien.

Desde ya, muchas gracias por su ayuda.

publicado

Hola.

Esta macro copia los valores de la hoja activa en Excel y los pega en un nuevo libro de trabajo. Luego, cambia el formato de todas las celdas a “texto” y guarda el nuevo libro de trabajo en la misma ubicación que el libro original con un nombre que incluye la fecha del día.

Saludines, debería cumplir con lo que indicas.

Sub GuardarValores()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim nombreArchivo As String
    Dim rutaArchivo As String
    
    ' Establecer la hoja activa como la hoja de trabajo
    Set ws = ActiveSheet
    
    ' Crear un nuevo libro de trabajo
    Set wb = Workbooks.Add
    
    ' Copiar los valores de la hoja activa al nuevo libro de trabajo
    ws.Cells.Copy
    With wb.Worksheets(1).Cells
        .PasteSpecial xlPasteValues
        .NumberFormat = "@"
    End With
    
    ' Establecer el nombre del archivo con la fecha del día
    nombreArchivo = "Valores_" & Format(Date, "ddmmyyyy") & ".xlsx"
    
    ' Establecer la ruta del archivo en la misma ubicación del libro original
    rutaArchivo = ThisWorkbook.Path & "\" & nombreArchivo
    
    ' Guardar el nuevo libro de trabajo
    wb.SaveAs Filename:=rutaArchivo
    
    ' Cerrar el nuevo libro de trabajo
    wb.Close
    
End Sub

 

publicado

Hola Israel, muchas gracias, copié y pegué la macro y funciona a la perfección.

Ahora me surgió otro problema. Te lo describo y creo que se puede solucionar fácilmente.

En la columna C del archivo tengo configurado para que tome valores de un listado y las columnas A, B y F devuelven valores de ese listado tambien. Todo esto hasta la fila 50. El tema es que cuando envío el archivo resultante de la macro a la plataforma de un banco me da error todas las filas que no tienen datos. Yo creo que la solucion es que la macro, antes de exportar la hoja a otro libro, debería borrar todo lo que está vacio de la columna C para abajo. De manera que si no se eligió nada en la columna C, se borre esa fila y todas las de abajo.

Adjunto un archivo ejemplo y desde ya muchas gracias por su valiosa ayuda.

Generador Transferencias ejemplo.xlsm

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • 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.