Al exportar a Excel se copian solo los valores y no las formulas
This commit is contained in:
parent
65f67ddd82
commit
b13ac1b06d
|
@ -27,37 +27,58 @@ End Function
|
||||||
Public Function ExportToExcel(fechaDesde As String, fechaHasta As String) As Boolean
|
Public Function ExportToExcel(fechaDesde As String, fechaHasta As String) As Boolean
|
||||||
Dim rutaPDF As String
|
Dim rutaPDF As String
|
||||||
Dim nombreArchivo As String
|
Dim nombreArchivo As String
|
||||||
|
Dim ws As Worksheet
|
||||||
|
Dim links As Variant
|
||||||
|
Dim i As Long
|
||||||
|
|
||||||
' Construct Excel filename based on dates
|
' Construir el nombre del archivo basado en las fechas
|
||||||
nombreArchivo = "fdl_" & fechaDesde & " al " & fechaHasta & ".xlsx"
|
nombreArchivo = "fdl_" & fechaDesde & " al " & fechaHasta & ".xlsx"
|
||||||
|
|
||||||
' Show "Save As" dialog and get the selected path
|
' Mostrar el diálogo "Guardar Como" y obtener la ruta seleccionada
|
||||||
rutaPDF = Application.GetSaveAsFilename(InitialFileName:=nombreArchivo, _
|
rutaPDF = Application.GetSaveAsFilename(InitialFileName:=nombreArchivo, _
|
||||||
FileFilter:="XLS Files (*.xlsx), *.xlsx", Title:="Guardar como XLS")
|
FileFilter:="XLS Files (*.xlsx), *.xlsx", Title:="Guardar como XLS")
|
||||||
|
|
||||||
' Check if user cancelled the dialog
|
' Verificar si el usuario canceló el diálogo
|
||||||
If (rutaPDF <> "False") And (rutaPDF <> "Falso") Then
|
If (rutaPDF <> "False") And (rutaPDF <> "Falso") Then
|
||||||
Dim Hoja1 As Worksheet, Hoja2 As Worksheet, Hoja3 As Worksheet, Hoja4 As Worksheet, Hoja5 As Worksheet
|
Dim Hoja1 As Worksheet, Hoja2 As Worksheet, Hoja3 As Worksheet, Hoja4 As Worksheet, Hoja5 As Worksheet
|
||||||
Dim NuevoLibro As Workbook
|
Dim NuevoLibro As Workbook
|
||||||
|
|
||||||
' Set references to sheets
|
' Establecer referencias a las hojas originales
|
||||||
Set Hoja1 = ThisWorkbook.Sheets(SHEET_NOTA)
|
Set Hoja1 = ThisWorkbook.Sheets(SHEET_NOTA)
|
||||||
Set Hoja2 = ThisWorkbook.Sheets(SHEET_FDL_1)
|
Set Hoja2 = ThisWorkbook.Sheets(SHEET_FDL_1)
|
||||||
Set Hoja3 = ThisWorkbook.Sheets(SHEET_FDL_2)
|
Set Hoja3 = ThisWorkbook.Sheets(SHEET_FDL_2)
|
||||||
Set Hoja4 = ThisWorkbook.Sheets(SHEET_FDL_3)
|
Set Hoja4 = ThisWorkbook.Sheets(SHEET_FDL_3)
|
||||||
Set Hoja5 = ThisWorkbook.Sheets(SHEET_FOGLIO_1)
|
Set Hoja5 = ThisWorkbook.Sheets(SHEET_FOGLIO_1)
|
||||||
|
|
||||||
' Copy sheets to new workbook
|
' Copiar la primera hoja al nuevo libro
|
||||||
Hoja1.Copy
|
Hoja1.Copy
|
||||||
Set NuevoLibro = ActiveWorkbook
|
Set NuevoLibro = ActiveWorkbook
|
||||||
|
|
||||||
' Copy remaining sheets
|
' Copiar el resto de las hojas al nuevo libro
|
||||||
Hoja2.Copy After:=NuevoLibro.Sheets(1)
|
Hoja2.Copy After:=NuevoLibro.Sheets(1)
|
||||||
Hoja3.Copy After:=NuevoLibro.Sheets(2)
|
Hoja3.Copy After:=NuevoLibro.Sheets(2)
|
||||||
Hoja4.Copy After:=NuevoLibro.Sheets(3)
|
Hoja4.Copy After:=NuevoLibro.Sheets(3)
|
||||||
Hoja5.Copy After:=NuevoLibro.Sheets(4)
|
Hoja5.Copy After:=NuevoLibro.Sheets(4)
|
||||||
|
|
||||||
' Save and close
|
' Aplicar .Value = .Value a todas las hojas para convertir fórmulas en valores
|
||||||
|
For Each ws In NuevoLibro.Worksheets
|
||||||
|
ws.UsedRange.value = ws.UsedRange.value
|
||||||
|
Next ws
|
||||||
|
|
||||||
|
' Obtener los links externos del nuevo libro
|
||||||
|
links = NuevoLibro.LinkSources(Type:=xlLinkTypeExcelLinks)
|
||||||
|
|
||||||
|
' Si existen links externos, recorrer todas las hojas y reemplazar el texto del link
|
||||||
|
' If Not IsEmpty(links) Then
|
||||||
|
' For Each ws In NuevoLibro.Worksheets
|
||||||
|
' For i = LBound(links) To UBound(links)
|
||||||
|
' ws.Cells.Replace What:=links(i), Replacement:="", LookAt:=xlPart, _
|
||||||
|
' SearchOrder:=xlByRows, MatchCase:=False
|
||||||
|
' Next i
|
||||||
|
' Next ws
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' Guardar y cerrar el nuevo libro
|
||||||
NuevoLibro.SaveAs rutaPDF, FileFormat:=xlWorkbookDefault
|
NuevoLibro.SaveAs rutaPDF, FileFormat:=xlWorkbookDefault
|
||||||
NuevoLibro.Close SaveChanges:=False
|
NuevoLibro.Close SaveChanges:=False
|
||||||
|
|
||||||
|
@ -67,6 +88,8 @@ Public Function ExportToExcel(fechaDesde As String, fechaHasta As String) As Boo
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Public Function ExportComessaToExcel() As Boolean
|
Public Function ExportComessaToExcel() As Boolean
|
||||||
Dim rutaPDF As String
|
Dim rutaPDF As String
|
||||||
Dim nombreArchivo As String
|
Dim nombreArchivo As String
|
||||||
|
@ -118,3 +141,4 @@ Public Function ExportComessaToExcel() As Boolean
|
||||||
ExportComessaToExcel = False
|
ExportComessaToExcel = False
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue