PlanillaHoras_VBA/Menu.vba

74 lines
2.4 KiB
Plaintext

Private Sub b_cargar_logs_Click()
RunLeerLogsToExcel
Unload Me
End Sub
Private Sub b_gen_factura_Click()
CargarFDL.CargarFDL
Unload Me
End Sub
Public Sub b_gen_hoja_comessas_Click()
Dim rutaPDF As String
Dim nombreArchivo As String
Dim wsComesse As Worksheet
Dim fechaDesde As Date, fechaHasta As Date
Dim nombreComesseHoras As String
Dim n As Integer
' Nombres de las hojas en variables estáticas
nombreHojaHoras = "Horas"
nombreComesseHoras = "Commesse"
' Establecer referencias a las hojas de Comesse
Set wsComesse = ThisWorkbook.Sheets(nombreComesseHoras)
For n = 1 To 7
If wsComesse.Cells(8, 2 * n).Value2 <> 0 Then
' Establecer la fechaDesde y fechaHasta según la última fila con datos en la columna E
fechaDesde = wsComesse.Cells(2, 2 * n).Value2
End If
Next n
' Construir el nombre del archivo PDF basado en las fechas - Ore 16-09 Vera Miguel.xlsx
nombreArchivo = "C:\Users\migue\OneDrive\Miguel\CSA - Trabajo\2024\Angelo Comesse\" + "Ore " & Format(fechaDesde, "dd-MM") & " Vera Miguel.xlsx"
' Mostrar el cuadro de diálogo "Guardar como" y obtener la ruta seleccionada
rutaPDF = Application.GetSaveAsFilename(InitialFileName:=nombreArchivo, _
FileFilter:="XLS Files (*.xlsx), *.xlsx", Title:="Guardar como XLS")
' Comprobar si el usuario ha cancelado el cuadro de diálogo
If (rutaPDF <> "False") And (rutaPDF <> "Falso") Then
Dim Hoja1 As Worksheet
Dim NuevoLibro As Workbook
Dim NuevaHoja As Worksheet
' Ajusta los nombres de las hojas a los que necesitas
Set Hoja1 = ThisWorkbook.Sheets(nombreComesseHoras)
' Crea un nuevo libro
Set NuevoLibro = Workbooks.Add
Set NuevaHoja = NuevoLibro.Sheets(1)
' Copia las celdas como valores desde la hoja original a la nueva hoja
Hoja1.Cells.Copy
With NuevaHoja.Cells
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = False
' Guarda el nuevo libro como archivo .xls
' Cambia la ruta de archivo y el nombre según necesites
NuevoLibro.SaveAs rutaPDF, FileFormat:=xlWorkbookDefault
' Cierra el nuevo libro sin guardar cambios
NuevoLibro.Close SaveChanges:=False
End If
Unload Me
End Sub