Macro para guardar hoja

Me gustaría saber si es posible obtener una macro que al ejecutarla me guarde la hoja activa con el valor de una celda. C3.

1 Respuesta

Respuesta
1
El código es este
Guardar un libro cuyo nombre será el valor de una celda:
ActiveWorkbook.SaveAs Filename:=Range("C3").Value
Estimado experto, me funciona para guardar el libro, pero me gustaría que me guardase solo la hoja activa.
Gracias y saludos
Juan Manuel
No te entiendo las hojas de un libro solo se guardan cuando guardas el libro, mientras las tienes activas que estas trabajando en ellas no se han guardado hasta que guardas el libro, de echo el propio nombre de excel para sus archivos (el genérico) es Libro1.xls
En fin que no se puede ir guardando hojas independientes de un libro que tienes que guardar el libro completo con todo lo que hayas echo en sus diferente hojas.
Estimado Sr. Julio, discúlpeme, pero creo que me explicado mal, es decir yo tengo libro(BD JUAN) con una hoja llamada(base) la cual por medio de un formulario voy metiendo datos diarios del mes de diciembre y quiero que cuando termine de meter todos los datos me CREE y guarde la hoja con el valor de una celda (C3) y la hoja (base) se quede limpia para empezar el siguiente mes.
No se si me he explicado bien, espero que si, ya que soy un novato en esto de excel.
Mil disculpas de nuevo Sr. Julio y de nuevo gracias.
Juan Manuel
Vale ahora creo que te entiendo, los datos que vas metiendo en el formulario se van grabando en otra hoja, entiendo, porque si cuando cierras el libro se limpia esa hoja nunca guardaría los datos. Veras creo que tu libro de Excel debería estar configurado de esta forma: HojaBase donde esta el formulario donde vas introduciendo datos, Celda C3 donde figura el nombre que quieres darle al libro cuando cierres excel, Hoja2 donde se van los datos cuando limpias la Hoja base y cierras el Libro.
La macro puede quedar así
Esta es para limpiar el formulario al cerrar
Sub limpieza()
Sheets("formulario").select
Activesheet.range("A5, B3, C1:C10; G6").value = ""
End Sub
Debes de decir que celdas quieres que limpie o rangos que tambien vale
Para cerrar el libro y guardar con el valor de la celda C3 ya te lo puse
ActiveWorkbook.SaveAs Filename:=Range("C3").Value
Y para copiar las celdas o rango de celdas es esta:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$22" Then
Cells.Select
Selection.Copy
Sheets("Hoja2").Select
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Sheets("Hoja1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
End Sub  Mira a ver si te lo ha solucionado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas