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 SubEl 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.