Macro que crea archivo aparte con solo valores

28/06/2012 - 00:17 por titopose | Informe spam
Hola!, felicitaciones por el sitio!
Tengo una macro, hecha con ayuda y además, el grabador de macros.
Crea un archivo aparte donde pega (con formato y ancho de columnas) solo los valores de resultado final de la hoja resumen de un libro.
A veces ocurre por muchos motivos que el nombre que entro en el imput ya existe.
La pregunta es si tengo forma que la macro me de chance de cambiarlo ? (que no sea manualmente).
Gracias
 

Leer las respuestas

#1 titopose
28/06/2012 - 18:18 | Informe spam
Pedro F. Pardo escribió el 28/06/2012 15:04 :
El miércoles, 27 de junio de 2012 23:14:53 UTC+1, titopose
escribió:
Hola!, felicitaciones por el sitio!
Tengo una macro, hecha con ayuda y además, el grabador de macros.
Crea un archivo aparte donde pega (con formato y ancho de columnas) solo los
valores de resultado final de la hoja resumen de un libro.
A veces ocurre por muchos motivos que el nombre que entro en el imput ya
existe.
La pregunta es si tengo forma que la macro me de chance de cambiarlo ? (que no
sea manualmente).
Gracias





Esta macro hace lo que necesitas.
Necesitarás integrarla con la que ya tienes.
Ten en cuenta lo siguiente:
-El fichero que salva es el que esté activo en ese momento.
-La carpeta en la que se salva es la misma en la que esté el fichero
actual.


Sub salvando()
ruta = ActiveWorkbook.Path

pregunta:
nombre = InputBox("Introduce el nombre del fichero",
"¿Nombre?")

If nombre = "" Then Exit Sub
If Dir(ruta & "" & nombre & ".xlsx") <>
"" Then
MsgBox ("Ya existe un fichero con ese nombre, Por favor escriba otro
nombre")
GoTo pregunta
Else
ActiveWorkbook.SaveAs Filename:=ruta & "" & nombre &
".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End If


End Sub


Hola Pedro, gracias por responder.
No me di maña para integrar el código a mi macro.
Este es el código existente:

If ActiveSheet.Name = "RESU" Then
If MsgBox("CREA ARCHIVO APARTE?" & vbCr & _
"Solo valores de RESUMEN" & vbCr & _
"Aceptar o Cancelar ?", _
289, _
"ATENCION !!!") = vbCancel Then Exit Sub
On Error GoTo sinGuardar
Columns("H:M").Select
Application.CutCopyMode = False
Selection.Copy
Workbooks.Add
nbre = InputBox("NOMBRE PARA EL ARCHIVO?")
If nbre = "" Then Exit Sub
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & nbre & ".xls"

Exit Sub
sinGuardar:
MsgBox "El nombre ya existe"
End If

Ya probé varias veces y siempre me da un error.
Apelo a tu generosidad.
Agradecido
Tito Pose

Preguntas similares