基于图纸名称,在Excel VBA中仅将某些表格dynamic保存为PDF

我有一个Excel工作簿5张(我为简洁起见这里简化):

'DataMaster' 'CityData S' 'TownData S' 'TownlandData S' 'StreetData S' 

有时会有附加的工作表/选项卡,但要保存的工作表都带有后缀“S”。 'Datamaster'在这里不需要保存。

我希望导出/保存为PDF使用循环

1)只能查看名称最右边2个字符为'S'的表单。

2)不在乎这些表中是否有3个或10个。

3)将导出为PDF文件名为表单名称中的左侧语句。

因此,出口将是:

 CityData.PDF , TownData.PDF , TownlandData.PDF , StreetData.PDF 

任何提示/帮助将不胜感激,我有基本出口到PDF代码只。

您可以使用For Each循环遍历工作簿中的每个工作表。 您可以使用If来testingRight()两个字符是否匹配。

就像是:

 Sub SaveToPDF Dim ws as worksheet 'Loop through worksheets, each worksheet is assigned to variable "ws" declared above: For Each ws in ThisWorkbook.Worksheets If Right(ws.name, 2) = " S" Then 'export as pdf ws.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:="C:\" & Left(ws.name, len(ws.name)-2) & ".pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=True End If Next ws End Sub