Aumentar por codigo un fichero al guardar

20/03/2008 - 14:25 por Leandro | Informe spam
Buenos días a todo el foro, tengo una macro hecha hace tiempo y me gustaría
modificarla, cada vez que la ejecuto me crea el mismo archivo con un numero
mas, dentro del Albaran-servy.xls (es para numerar albaranes) y al mismo
tiempo, me guarda un archivo de copia, Albaran-100.xls me gustaría poder
hacer que me incremente 1 cada vez que la ejecuto, por ejemplo Albaran-101,
Albaran-102, etc. en las copias, estoy tratando de modificarlo y no lo
consigo, me podéis echar una mano, envió código
Range("A2:F54").Select
ActiveWindow.SmallScroll Down:=-3
ChDir "C:\DATOS\2008\ALBARANES"
ActiveWorkbook.SaveAs
Filename:="C:\DATOS\2008\ALBARANES\Albaran-100.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveSheet.PageSetup.PrintArea = "$A$2:$F$54"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("E1").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=3
Range("B17:B47").Select
Selection.ClearContents
Range("C17:C47").Select
Selection.ClearContents
Range("D17:D47").Select
Selection.ClearContents
Range("E14").Select
Selection.ClearContents
Range("D12").Select
Selection.Copy
Range("E11").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=-3
Range("A1").Select
ActiveWorkbook.SaveAs
Filename:="C:\DATOS\2008\ALBARANES\Albaran-servy.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
 

Leer las respuestas

#1 Héctor Miguel
21/03/2008 - 02:43 | Informe spam
hola, Leandro !

... tengo una macro hecha hace tiempo y me gustaria modificarla
cada vez que la ejecuto me crea el mismo archivo con un numero mas
dentro del Albaran-servy.xls (es para numerar albaranes) y al mismo tiempo
me guarda un archivo de copia, Albaran-100.xls me gustaria poder hacer
que me incremente 1 cada vez que la ejecuto, por ejemplo Albaran-101, Albaran-102, etc. en las copias
estoy tratando de modificarlo y no lo consigo ...



(supongo que) el avance que mencionas lo haces modificando la macro cada vez que la ejecutas -?-

para que fuera "automatico", necesitas (como minimo) un lugar donde vayas registrando los incrementos
que pudiera ser desde un archivo externo (p.e. un simple *.TXT), modificar alguna clave en el registro de windows
(estas dos alternativas no funcionarian sin interrupcion si la macro se ejecuta en diferentes pc's <= OJO)

otra pudiera ser si corres la macro desde un libro "unico" y controlas los avances (p.e.) en alguna hoja/celda oculta -?-

tambien puedes adaptar macros para autonumerar plantillas (p.e.) de paginas como la siguiente:
-> http://www.mcgimpsey.com/excel/udfs...lnums.html

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ (parte de) codigo expuesto __
Range("A2:F54").Select
ActiveWindow.SmallScroll Down:=-3
ChDir "C:\DATOS\2008\ALBARANES"
ActiveWorkbook.SaveAs Filename:="C:\DATOS\2008\ALBARANES\Albaran-100.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveSheet.PageSetup.PrintArea = "$A$2:$F$54"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("E1").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=3
Range("B17:B47").Select
Selection.ClearContents
Range("C17:C47").Select
Selection.ClearContents
Range("D17:D47").Select
Selection.ClearContents
Range("E14").Select
Selection.ClearContents
Range("D12").Select
Selection.Copy
Range("E11").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=-3
Range("A1").Select
ActiveWorkbook.SaveAs Filename:="C:\DATOS\2008\ALBARANES\Albaran-servy.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Preguntas similares