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.