Hola, me gustaría saber cómo hacer una macro que seleccione una celda fina en una hoja y guarde el documento con ese nombre en un directorio fijo. Si ya existe un documento con ese nombre, que le agregue un uno al final del nmrbe, si ya existe, que le agregue un dos, etc. Muchas gracias de antemano.
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
El siguiente código, efectúa lo que solicitas. Activa el editor de Visual Basic (presiona Alt+F11), inserta un nuevo módulo ("Insertar", "´Modulo") y pega el siguiente código: Sub genarch() Dim Pathfold, MyFileName, Chk As String Sheets("Hoja1").Select Pathfold = Trim(Range("B2")) & IIf(Right(Trim(Range("B2").Value), 1) = "\", "", "\") MyFileName = Trim(Range("B3").Value) Chk = Dir(Pathfold & MyFileName & ".xls") cnt = 0 Do While Chk <> "" cnt = cnt + 1 MyFileNameN = MyFileName & Trim(cnt) Chk = Dir(Pathfold & MyFileNameN & ".xls") Loop If cnt = 0 Then MyFileNameN = MyFileName ActiveWorkbook.SaveAs FileName:=Pathfold & MyFileNameN & ".xls" MsgBox "Guardado como: " & Pathfold & MyFileNameN & ".xls", vbInformation, "Grabado OK" End Sub Cierra el editor y graba el archivo. Nota que el directorio está escrito en la celda B2, mientras que el nombre del archivo esta en la celda B3, ambas de la hoja "hoja1", pero claro, puedes variar estas locaciones de acuerdo a las tuyas propias. Funciona bien hasta donde lo probé pero dime si no. Esto debería resolver tu pregunta. Si así fuera, agradeceré un comentario y que la finalices. Si no, pregúntame de nuevo. Un abrazo! Fernando *====================================* (Considera que la valoración que figura predeterminada es 3/5. Tal vez quieras cambiarla...) En caso contrario, puedes preguntarme nuevamente Aclarando qué entendí mal o qué faltó.