Hola, la verdad que mil gracias, esta esplendido. Pero te puedo molestar para adaptarlo un poco a mi libro? (lo cual intente solo y no pude).
El rango donde voy a escribir las hojas que quiero guardar como PDF va a estar en realidad en la columna M, pero quisiera ponerle un titulo "Imprimir hojas:" (porque no lo voy a usar yo y con eso la gente entiende un poco mas), el asunto es que con el titulo me da error en:
Sheets(matrix()).Copy
y no sabría que modificar para que comience a tomar los nombres desde M2
Así me quedo la macro funcionando:
Option Base 1
Sub Hojas_a_Libro_PDF()
Dim Resp As Byte
Resp = MsgBox("¿Desea crear el PDF?", vbQuestion + vbYesNo, "EXCELeINFO")
If Resp = vbYes Then
Dim matrix() As Variant
y = Range("M" & Rows.Count).End(xlUp).Row
ReDim matrix(y)
For i = 1 To y
matrix(i) = Range("M" & i)
Next i
Ruta = ThisWorkbook.Path
miPdf = "Recorrido.pdf"
Sheets(matrix()).Copy
Set WB = ActiveWorkbook
On Error Resume Next
With WB
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Ruta & "\" & miPdf, _
Quality:=xlQualityStandar, IncludeDocProperties:=False, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End With
Set WB = Nothing
Else
MsgBox "Se eligió cancelar...", vbCritical, "EXCELeINFO"
End If
End Sub
Por ultimo quisiera preguntarte algo mas (si es que no es muy difícil) el nombre del archivo va a ser "Recorrido dd-mm-aaaa.pdf" donde esa fecha responde a una formula que tengo cargada en una celda que me da como resultado el día de mañana.
La formula: '=SI(DIASEM(HOY())=6;HOY()+3;HOY()+1)'
Hay posibilidad de agregar eso para que salga automáticamente en el nombre del pdf?
Mil gracias de nuevo por la respuesta!
Saludos!