Macro excel para grabar archivo con nombre variabl

Buenas noches... Necesiten me den una mano con una macro que pensé para facilitarme el trabajo pero que me esta complicando... De puro capricho sigo adelante pero me tope con un problema que no se como salvar.
La idea es esta:
Necesito crear una macro que me permita copiar parte de una hoja (Libro A . Hoja 1); que la pegue en un nuevo libro B. Hoja 2 y que este ultimo lo salve con el nombre de archivo que se encuentra en el Libro A Hoja 3 Celda h6.
Entre numerales les pongo más abajo la sentencia que me esta complicando; lo que creo que me esta faltando es que una vez pegado en el nuevo libro, vuelva al viejo, tome el valor de la celda, vuelva al nuevo y lo salve con el valor.
Sub Informe_diario()
'
' Informe_diario Macro
' Macro grabada el 15/12/2009 por Administrador
'
'
Range("B3:L25").Select
Selection.Copy
ChDir _
"c:\daniel\Diarios CNI"
Workbooks.Open Filename:= _
"c:\daniel\Plantilla Reporte Diario.xls"
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.DisplayGridlines = False
###ActiveWorkbook.SaveAs Filename:=("c:\daniel\Base 2010.xls\Hoja1").Range("h18").Value#### _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Windows("Base 2010.xls").Activate
End Sub
Muchas gracias por la ayuda que puedan brindar; y si no pueden muchas gracias igual por leer el mensaje.
Saludos desde Bs. As.!
{"Lat":-34.6014218790577,"Lng":-58.4081697463989}
Respuesta
1
Prueba con este código. Creo que te será sencillo entenderlo.
Option Explicit
Sub copiarHojaNuevoLibroCuyoNombreEstaEnHoja3()
    Dim nomFich As String
    Dim miLibro As String
    Dim newLibro As String
    ' Guardamos el nombre del libro actual para volver más tarde
    miLibro = ThisWorkbook.Name
    If miLibro = "" Then
        MsgBox "No hay ningún nombre en la celda H6 de la hoja3"
        Exit Sub
    End If
    ' Primero cogemos el nombre del nuevo libro
nomFich = Sheets("Hoja3"). Cells(6, 8) ' H6 es la fila 6 columna 8
    ' Copiamos la página "Hoja1" en un libro nuevo
    Sheets("Hoja1").Select
    Sheets("Hoja1"). Copy
    ' Salvamos el libro con el nombre que nos han indicado
    ActiveWorkbook. SaveAs nomFich
    ' Si queremos cerrar el libro podemos ponerlo aquí (si no borrar las 2 lineas o comentarlas)
    newLibro = ActiveWorkbook.Name
    Workbooks(newLibro). Close
    ' Volvemos al libro inicial
    Windows(miLibro). Activate
End Sub
S.M.F.; he tenido algunos inconvenientes de tiempo por lo que no pudo poner en practica tu respuesta. Como ya ha pasado algo de tiempo no queria dejar de pasar y agradecerte tu pronta respuesta. Supongo que esta semana lo probare; obviamente seras el primero en conocer el resultado.
Muchas gracias.
Felicidades para este nuevo año.
Pruébalo cuando puedas, yo hice mis pruebas y funcionaba. Al menos como entendí que quieres que funcione.
Ya me contarás qué tal te ha ido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas