Macro que guarda un archivo con formato csv

Dante amor, necesito un código que copie un rango hasta donde en una columna("b")el valor sea "nada"(copia desde a2:g200 pero para de copiar en donde b="nada")y luego guarda ese rango pero en formato "csv"(pero no puedo escribir la palabra"nada"sino que la celda debe estar vacia)

2 respuestas

Respuesta
1

Ok, ahora si anduvo bien, excelente. Una consulta más, si llegara a tener algún problema con este formato de csv con comas y me pide que lo guarde en csv ms dos, ¿cómo lo cambio?(Solo por las dudas pero no creo)

Respuesta
1

H o l a:

Te anexo la macro, te puse unos comentarios en la macro para que pongas tus datos.

Sub GuardarCsv()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Hoja5")     'poner el nombre de la hoja
    Set l2 = Workbooks.Add
    Set h2 = l2.Sheets(1)
    ruta = l1.Path & "\"            'poner la ruta
    arch = "archivo"                'poner el nombre del archivo
    '
    u = h1.Range("B" & Rows.Count).End(xlUp).Row
    h1.Range("A2:G" & u).Copy
    h2.Range("A1").PasteSpecial xlValues
    l2.SaveAs Filename:=ruta & archivo & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    l2.Close
    MsgBox "fin"
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

cambie los datos y las columnas como preciso pero,al margen de que da error y se detiene la macro,solo copia el archivo en un nuevo libro pero no lo guarda

Sub GuardarCsv()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("corte")     'poner el nombre de la hoja
    Set l2 = Workbooks.Add
    Set h2 = l2.Sheets(1)
    ruta = l1.Path & "C:\Users\rubit\Documents"            'poner la ruta
    arch = "RODOLFOPRUEBA"                'poner el nombre del archivo
    '
    u = h1.Range("j" & Rows.Count).End(xlUp).Row
    h1.Range("i2:o" & u).Copy
    h2.Range("A1").PasteSpecial xlValues
    l2.SaveAs Filename:=ruta & archivo & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    l2.Close
    MsgBox "fin"
End Sub

Si la macro se detiene y te muestra un error, por lo tanto, no te genera el archivo.

Tienes que decirme qué error te aparece y cuál línea se detiene.

Te anexo la macro con unos cambios, prueba nuevamente.

Sub GuardarCsv()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("corte")                 'poner el nombre de la hoja
    Set l2 = Workbooks.Add
    Set h2 = l2.Sheets(1)
    ruta = "C:\Users\rubit\Documents\"          'poner la ruta
    'ruta = l1.Path & "\"
    arch = "RODOLFOPRUEBA"                      'poner el nombre del archivo
    '
    u = h1.Range("J" & Rows.Count).End(xlUp).Row
    h1.Range("I2:O" & u).Copy
    h2.Range("A1").PasteSpecial xlValues
    l2.SaveAs Filename:=ruta & arch & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    l2.Close
    MsgBox "fin"
End Sub

Te aconsejo poner en la pregunta todos los datos necesarios, como nombre de la hoja, libro, rango, nombre de archivo, ruta, etc, de esa forma la macro estará completa y no tendrás que cambiar datos, con riesgo de que te equivoques y la macro no funcione.


' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas