Macro guardar como PDF hojas escritas en un rango

Actualmente tengo una macro para guardar como pdf las hojas que escribo en la columna "O", debajo del titulo y lo guarda en un solo archivo. Foto:

Macro:

Sub Hojas_a_Libro_PDF()
    Dim matrix() As Variant
    y = Range("O" & Rows.Count).End(xlUp).Row
    ReDim matrix(y - 1)
    For i = 2 To y
        matrix(i - 1) = Range("O" & i)
    Next i
    Ruta = ThisWorkbook.Path
    miPdf = Range("PDFNombre")
    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
       .Close False
    End With
    Set WB = Nothing
End Sub

 El asunto es que quisiera definir un rango con nombre "guardarPDF=$O$2:$O$6" para así poder tener la libertad de trasladar el boton a otra hoja, o si inserto una columna no tener que ir a editar la macro y remplazar la "O" por una "P" y demas beneficios que tiene ponerle nombre a los rangos. 

La cosa es que no se como modificar la macro para que me tome solamente los nombres de las hojas que están escritos en ese rango "guardarPDF".

P.D: Otro problema que tengo con la actual macro es que si quisiera escribir algo en cualquier celda de la columna O, me da error la macro.

Añade tu respuesta

Haz clic para o