Exporte múltiples hojas a PDF simultáneamente sin usar ActiveSheet o Seleccionar

Se ha perforado en mi cabeza, para evitar errores y proporcionar una buena experiencia de usuario, es mejor evitar usar.Select, .Activate, ActiveSheet,ActiveCelletc.

Teniendo esto en cuenta, ¿hay alguna manera de usar el.ExportAsFixedFormat método en un subconjunto deSheets en un libro de trabajo sin emplear uno de los anteriores? Hasta ahora, las únicas formas en que he sido capaz de hacer esto son:

utilizar unaFor Each; sin embargo, esto da como resultado archivos PDF separados, lo que no es bueno.

use el código similar al generado por la grabadora de macros, que usa.Select yActiveSheet:

Sheets(Array("Sheet1", "Chart1", "Sheet2", "Chart2")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "exported file.pdf", Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, openafterpublish:= True

Quizás es imposible no usarActiveSheet, pero al menos puedo usar.Select ¿de alguna manera?

He intentado esto:

Sheets(Array("Sheet1", "Chart1", "Sheet2","Chart2")).ExportAsFixedFormatType:= _
    xlTypePDF, Filename:= "exported file.pdf", Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, openafterpublish:= _
    True

Esto produce:

error 438: el objeto no admite esta propiedad o método

Respuestas a la pregunta(4)

Su respuesta a la pregunta