VBA: guardar una hoja y eliminar los enlaces
Resuelto
Maud1681
Mensajes publicados
14
Fecha de registro
Estado
Miembro
Última intervención
-
Maud1681 Mensajes publicados 14 Fecha de registro Estado Miembro Última intervención -
Maud1681 Mensajes publicados 14 Fecha de registro Estado Miembro Última intervención -
Bonjour,
Estoy utilizando el siguiente código para copiar una hoja de un documento de Excel y guardarla:
1) se hace clic en el botón
2) la hoja se copia/guarda con un nombre y el botón de la macro desaparece
3) el documento fuente se cierra sin guardar
El documento fuente tiene celdas que están vinculadas a otra hoja del libro.
Problema: la hoja copiada conserva los enlaces que me gustaría eliminar... ¿saben cómo modificar mi código?
Private Sub CommandButton4_Click()
'Macro: cuando el archivo está completo, se hace clic en el botón 4, la hoja se copia y el archivo original se cierra y se elimina.
Dim nomfichier As String
Dim FileExtStr As String
Dim FileFormatNum As Long
ThisWorkbook.ActiveSheet.Copy
ActiveSheet.Shapes("CommandButton4").Visible = False
FileExtStr = ".xlsm": FileFormatNum = 52
ActiveSheet.SaveAs Filename:= _
"\\xxxxx\xxxx\xxx\xx\test\" & "test" & ".xls"
ThisWorkbook.Close SaveChanges:=False
End Sub
Agradeciéndoles de antemano.
Estoy utilizando el siguiente código para copiar una hoja de un documento de Excel y guardarla:
1) se hace clic en el botón
2) la hoja se copia/guarda con un nombre y el botón de la macro desaparece
3) el documento fuente se cierra sin guardar
El documento fuente tiene celdas que están vinculadas a otra hoja del libro.
Problema: la hoja copiada conserva los enlaces que me gustaría eliminar... ¿saben cómo modificar mi código?
Private Sub CommandButton4_Click()
'Macro: cuando el archivo está completo, se hace clic en el botón 4, la hoja se copia y el archivo original se cierra y se elimina.
Dim nomfichier As String
Dim FileExtStr As String
Dim FileFormatNum As Long
ThisWorkbook.ActiveSheet.Copy
ActiveSheet.Shapes("CommandButton4").Visible = False
FileExtStr = ".xlsm": FileFormatNum = 52
ActiveSheet.SaveAs Filename:= _
"\\xxxxx\xxxx\xxx\xx\test\" & "test" & ".xls"
ThisWorkbook.Close SaveChanges:=False
End Sub
Agradeciéndoles de antemano.
1 respuesta
-
Hola,
Al pasar por una hoja intermedia, no un libro (ThisWorkbook.ActiveSheet.Copy
), no generará porque cierras sin guardarPrivate Sub CommandButton4_Click() 'Macro: cuando el archivo esté completo, hacemos clic en el botón 4, la hoja se copia y el archivo original se borra y se cierra. Dim nomfichier As String Dim FileExtStr As String Dim FileFormatNum As Long With ActiveSheet .Shapes("CommandButton4").Visible = False .Cells.Copy End With Sheets.Add After:=ActiveSheet Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveSheet.SaveAs Filename:="\\xxxxx\xxxx\xxx\xx\test\" & "test" & ".xls", FileFormat:=56 ThisWorkbook.Close SaveChanges:=False End Sub-
Hola,
He aplicado tu método, pero esto copia la hoja eliminando las vinculaciones y me gustaría conservar el formato y los botones de macro que deben estar activos para el siguiente usuario...- Re,
Ok, estoy mirando
continuación:
Quizás el nombre de la hoja copiada a verPrivate Sub CommandButton4_Click() 'Macro: cuando el archivo está completo, se hace clic en el botón 4, la hoja se copia y el archivo original se borra y se cierra. Dim nomfichier As String Dim FileExtStr As String Dim FileFormatNum As Long With ActiveSheet .Shapes("CommandButton4").Visible = False .Copy After:=ActiveSheet End With With ActiveSheet nom = .Name .Select .UsedRange.Copy .Range("A1").Select End With Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'ActiveWorkbook.SaveAs Filename:="d:\_acsv\" & "essai_test_lien" & ".xls", FileFormat:=56 ActiveSheet.SaveAs Filename:="\\xxxxx\xxxx\xxx\xx\test\" & "test" & ".xls", FileFormat:=56 Sheets(nom).Copy ThisWorkbook.Close SaveChanges:=False End Sub
-
-
-