2016-08-24 33 views
0

我在做什麼錯?我想創建一個標籤的pdf文件,該標籤在不同的標籤中通過列A中的列表運行。同時,我希望它引用列CH中的值來查看它是否大於0,以及它是否保存在特定文件夾中。如果沒有,保存在另一個文件夾中。循環內的條件聲明

非常感謝幫助,因爲我無法找到解決方案並且一直停留數小時。謝謝!

代碼:

Sub Generate_PDF_Files() 
Application.ScreenUpdating = False 
Sheets("Table").Activate 
Range("A7").Activate 

Set r = Range("CH7:CH185") 
With ActiveSheet 
    For Each erange In .Range("CH7:CH185") 
     If erange.Value > 0 Then 
      Sheets("Att A").Select 
      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
       "L:\Mike89\Violations\" & X & ".pdf", Quality:=xlQualityStandard, _ 
       IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False 
     End If 

     If erange.Value = 0 Then 
      Sheets("Att A").Select 
      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
       "L:\Mike89\No Violations\" & X & ".pdf", Quality:=xlQualityStandard, _ 
       IncludeDocProperties:=True, IgnorePrintAreas:=False,OpenAfterPublish:=False 
     End If 

    Next 

    Do Until ActiveCell.Value = "STOP" 
     X = ActiveCell.Value 
     Range("DLR_NUM") = "'" & X 

     Sheets("Table").Activate 
     ActiveCell.Offset(1, 0).Activate 
    Loop 

End with 
End Sub 
+0

您的代碼缺少一個'結束With' – litelite

+0

@litelite *和*正確的縮進,同樣重要的是(我批准了編輯;-) –

+0

你最好交相關工作表的一些相關示例。你正在寫關於運行_「通過A列中的列表」_,其中我看不到符號。此外,在循環結尾定義之前,您指的是「X」 – user3598756

回答

0
Sub Generate_PDF_Files() 

    Dim c As Range, X, fName As String, shtAtt As Worksheet 

    Set shtAtt = Sheets("Att A") 

    For Each c In Sheets("Table").Range("CH7:CH185").Cells 

     X = c.EntireRow.Cells(1).Value 
     If X = "STOP" Then Exit For 

     c.Parent.Range("DLR_NUM") = "'" & X 

     fName = "L:\Mike89\" & IIf(c.Value = 0, "No Violations\", "Violations\") & X & ".pdf" 

     shtAtt.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fName, _ 
         Quality:=xlQualityStandard, IncludeDocProperties:=True, _ 
         IgnorePrintAreas:=False, OpenAfterPublish:=False 

    Next c 

End Sub 
+0

謝謝。也許我做錯了什麼,但它給我一個運行時錯誤,說「object_worksheet的方法範圍」失敗,它強調代碼中的「shtAtt.Range(」DLR_NUM「)=」'「&X」當我嘗試調試。 – Mike89

+0

工作表「Att A」上是否有該名稱的範圍? –

+0

我在另一個選項卡中創建了一個值列表,並使用數據驗證調用下拉列表「DLR_NUM」)。這是在「表格」選項卡中,而不是「Att A」選項卡。 – Mike89