Problema código para guardar archivo nuevo
Tengo un tema... Tengo toda una macro que hace lo siguiente:
- Se abre desde el archivo base (llamado 2017 V6 - Plan Operativo.xlsm)
- Abre un archivo existente (llamado GENERADOR.xlsx)
- Vuelve al archivo base
- Copia tablas
- Las pega en Generador
- Guarda el archivo generador con un nombre nuevo...
En este ultimo punto es donde comienza el problema. Al guardar el nuevo archivo, con nombre y ruta especificada por variables de la misma hoja del excel, en vez de guardarme el archivo GENERADOR me guarda el base, lo cual esta mal :(
Además de ello, el archivo GENERADOR no me lo cierra, y si le pongo el comando, me da error, si se lo saco, me da error en la línea siguiente.
Adjunto el código para que lo vean:
Private Sub CommandButton3_Click() 'Mensaje de confirmacion de accion Dim Resp As Byte Resp = MsgBox("¿Desea generar el informe?. Tenga en consideración que se guardá un archivo adicional, el cual deberá ser enviado.", _ vbQuestion + vbYesNo, "ACTUALIZAR") If Resp = vbYes Then 'Poner visible las hojas ocultas Sheets("TABLA_PPTO").Visible = True Sheets("TABLA_DOTACION").Visible = True Sheets("TABLA_DOTACION2").Visible = True Sheets("TABLA_ENCUESTAS").Visible = True 'Abrir archivo de almacenamiento y cambio a hoja de llenado Ruta = ThisWorkbook.Path Abrir = "GENERADOS\GENERADOR.xlsx" Workbooks.Open Filename:=Ruta & "\" & Abrir Windows("2017 V6 - Plan Operativo.xlsm").Activate 'Seleccion y copiado de datos de las distintas tablas Sheets("TABLA_PPTO").Select ActiveSheet.Range("A2:AR2341").Select Selection.Copy Windows("GENERADOR.xlsx").Activate Sheets("PPTO_DOT").Select ActiveSheet.Range("A2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("2017 V6 - Plan Operativo.xlsm").Activate Sheets("TABLA_DOTACION").Select ActiveSheet.Range("A2:AR496").Select Selection.Copy Windows("GENERADOR.xlsx").Activate ActiveSheet.Range("A1").End(xlDown).Offset(1, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("2017 V6 - Plan Operativo.xlsm").Activate Sheets("TABLA_DOTACION2").Select ActiveSheet.Range("A2:AR1441").Select Selection.Copy Windows("GENERADOR.xlsx").Activate ActiveSheet.Range("A1").End(xlDown).Offset(1, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("2017 V6 - Plan Operativo.xlsm").Activate Sheets("TABLA_ENCUESTAS").Select ActiveSheet.Range("A2:AY19").Select Selection.Copy Windows("GENERADOR.xlsx").Activate Sheets("ENCUESTAS").Select ActiveSheet.Range("A2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Guardado de archivo de envio Ruta = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) & "\GENERADOS\" Nombre = ActiveSheet.Range("D2").Value & "_" & ActiveSheet.Range("N2").Value DatoFechador = Format(Now, "yyyymmdd hh.mm.ss") Windows("GENERADOR.xlsx").Activate FilePath = ThisWorkbook.Path & Nombre & "_" & DatoFechador & ".xls" ThisWorkbook.SaveCopyAs (FilePath) Windows("2017 V6 - Plan Operativo.xlsm").Activate Windows("GENERADOR.xlsx").Activate 'Ocultar hojas base inicial Windows("2017 V6 - Plan Operativo.xlsm").Activate Sheets("TABLA_ENCUESTAS").Select ActiveWindow.SelectedSheets.Visible = False Sheets("TABLA_DOTACION2").Select ActiveWindow.SelectedSheets.Visible = False Sheets("TABLA_DOTACION").Select ActiveWindow.SelectedSheets.Visible = False Sheets("TABLA_PPTO").Select ActiveWindow.SelectedSheets.Visible = False ActiveWindow.ScrollWorkbookTabs Sheets:=-1 ActiveWindow.ScrollWorkbookTabs Sheets:=-1 ActiveWindow.ScrollWorkbookTabs Sheets:=-1 Sheets("PRODUCTO").Select ActiveSheet.Range("C5").Select Else cancelacion.Show End If End Sub
Espero alguien pueda ayudarme ya que necesito esto para hoy en un par de horas más!!!!
(Bueno, la macro después hace otras cosas como ocultar hojas del archivo Base)