Ayuda en Macros.

Hola buenos días,
Necesito asesoramiento en excel para formular una macros, bueno voy al grano,
En I44 tengo Un nombre de Archivo,
En rango I45 hasta I60 tengo un listado de códigos.
Lo que necesito es una macros que copie el rango de I45 a I60 y genere un Archivo de texto plano con el nombre de I44.
De ante mano muchas gracias a quien me pueda ayudar...

1 respuesta

Respuesta
1
Vale haremos una cosa primero copiamos el rango de tus archivos a otra hoja guardamos el libro de excel como archivo de texto y que tome el nombre de la celda I4
Sub Guarda_como_Text()
Sheets ("Hoja1").Select
nombLib = Sheets("Hoja1").Range("A3").Value
Range("I45:I60").Copy
Sheets("Hoja2").Select
Range("I45").Select
ActiveCell.PasteSpecial
Application.CutCopyMode = False
ChDir "AQUÍ PONES TU DIRECTORIO PARA GUARDARLO"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\jchillaronj\Escritorio\" + nombLib + " .txt", FileFormat:= _
xlText, CreateBackup:=False
Application.Quit
End Sub
Muchas gracias por la macro, la verdad solo necesitaba saber como guardar con el nombre que defini en la celda, al fin y al cabo el resultado de la macro que tenia mas la tuya es este;
Sub exportar()
nombLib = Range("I44").Value
Dim FileSysObj As Object
Dim ArchivoTxt As Object
Dim AreaTexto
AreaTexto = ActiveSheet.Range("G46:G70").Value
Set FileSysObj = CreateObject("Scripting.FileSystemobject")
Set ArchivoTxt = FileSysObj.CreateTextFile("C:\" + nombLib + " .txt", True)
Dim celda
For Each celda In AreaTexto
ArchivoTxt.WriteLine celda
Next
ArchivoTxt.Close
End Sub
Así me ahorro el copiar a otra hoja y me sirve para cualquier hoja con el mismo formato.
Muchas gracias por tu tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas