2017-04-24 31 views
0

在Excel VBA PDF只有特定的表我有一個Excel工作簿,5張(我簡化爲清楚起見,在這裏):動態保存到基於SHEETNAME

'DataMaster' 

'CityData S' 

'TownData S' 

'TownlandData S' 

'StreetData S' 

有時有額外張/標籤,但要保存的表格全部後綴爲'S'後綴。 'Datamaster'在這裏不需要保存。

我希望導出/使用一個循環,

1)僅將着眼於在其名稱中最右邊的2個字符表是「S」保存爲PDF。

2)不在乎這些表中是否有3個或10個。 3)將導出爲PDF,其中文件名是工作表名稱中的左側語句。

因此,出口將是:

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

任何提示/幫助將不勝感激,我有基本的出口僅PDF的代碼。

回答

1

您可以使用For Each循環遍歷工作簿中的每個工作表。您可以使用If來測試Right()兩個字符是否匹配。

喜歡的東西:

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 
+0

最後一行應該是結束小組,而不是結束,如果。工作,很好! – RunningOverTheHill

+0

謝謝@RunningOverTheHill。修好了! – JNevill