Copiar tabla de una hoja y pegar en un libro nuevo
publicado
Hola, tengo un pequeño contratiempo y necesito hacer una macro que me haga lo siguiente, a ver si alguien me puede ayudar:
Estando en un libro Excel ejecuto una macro que me copia una tabla en otro libro nuevo creado automáticamente. El nombre del libro que me crea automáticamente es libro1, libro2, depende las veces que ejecute la macro, el que genera por sí solo, pero si detecta que ya existe y quiero cancelar me sale un error(13).
La cuestión es que quiero que ese libro nuevo se cree con la fecha y hora actual y así no tendré problemas con el nombre del libro. Tengo hecho la siguiente macro:
Sub copiaTabla()
'
'Declaramos las variables.
Dim NombreHoja As String
Dim Confirmacion As String
Dim NombreArchivo As String
'Dim GuardarComo As Variant
'
'
'Copiamos la hoja y guardamos.
NombreHoja = ActiveSheet.Name
Confirmacion = MsgBox("Desea guardar la hoja '" & NombreHoja & "' como archivo nuevo?", _
vbQuestion + vbYesNo, "EXCELeINFO")
If Confirmacion = vbYes Then
Application.ScreenUpdating = False
Desproteger_hoja 'macro que me desprotege la hoja
Range("Tabla2836[#All]").Select
Selection.Copy
Workbooks.Add 'Agrega libro nuevo ¿Cómo pongo para ponerle el nombre de fecha y hora actuales?
Hola, tengo un pequeño contratiempo y necesito hacer una macro que me haga lo siguiente, a ver si alguien me puede ayudar:
Estando en un libro Excel ejecuto una macro que me copia una tabla en otro libro nuevo creado automáticamente. El nombre del libro que me crea automáticamente es libro1, libro2, depende las veces que ejecute la macro, el que genera por sí solo, pero si detecta que ya existe y quiero cancelar me sale un error(13).
La cuestión es que quiero que ese libro nuevo se cree con la fecha y hora actual y así no tendré problemas con el nombre del libro. Tengo hecho la siguiente macro:
Sub copiaTabla()
'
'Declaramos las variables.
Dim NombreHoja As String
Dim Confirmacion As String
Dim NombreArchivo As String
'Dim GuardarComo As Variant
'
'
'Copiamos la hoja y guardamos.
NombreHoja = ActiveSheet.Name
Confirmacion = MsgBox("Desea guardar la hoja '" & NombreHoja & "' como archivo nuevo?", _
vbQuestion + vbYesNo, "EXCELeINFO")
If Confirmacion = vbYes Then
Application.ScreenUpdating = False
Desproteger_hoja 'macro que me desprotege la hoja
Range("Tabla2836[#All]").Select
Selection.Copy
Workbooks.Add 'Agrega libro nuevo ¿Cómo pongo para ponerle el nombre de fecha y hora actuales?
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.DisplayFormulaBar = True 'Barra de fórmula
ActiveWindow.DisplayHeadings = True 'Reglas
Range("A2").Select
NombreArchivo = ActiveWorkbook.Name 'Lee el nombre del libro activo y lo guarda en la variable
'Guardamos y cerramos el libro creado
ActiveWorkbook.SaveAs FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 'Guarda el libro creado
ActiveWorkbook.Close 'Cierra el libro creado
'Nos vamos al libro de trabajo
Application.Goto ActiveWorkbook.Sheets(NombreHoja).Cells(11, 1)
ActiveCell.Select
Proteger_hoja 'macro que vuelve a proteger la hoja
Application.ScreenUpdating = True
MsgBox "El libro se ha guardado con el nombre " & NombreArchivo, vbInformation + vbOKOnly
End If
End Sub